1

我正在尝试为 APNS 使用 Python 库,但我不知道应该从哪里获取令牌,有什么帮助吗?

from apns import APNs, Payload

apns = APNs(use_sandbox=True, cert_file='cert.pem', key_file='key.pem')

# Send a notification
token_hex = 'b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b87' // ??? This token
payload = Payload(alert="Hello World!", sound="default", badge=1)
apns.gateway_server.send_notification(token_hex, payload)

# Get feedback messages
for (token_hex, fail_time) in apns.feedback_server.items():
    # do stuff with token_hex and fail_time
4

2 回答 2

1

您从要向其发送推送通知的设备获取它;它是 中的deviceToken参数application:didRegisterForRemoteNotificationsWithDeviceToken:

令牌实际上是一个NSData对象(大致相当于 Python 字节字符串),但如果这是您的库需要的,您可以轻松地将其转换为十六进制字符串。

于 2013-07-11T23:16:26.393 回答
0

在您的 iOS 应用程序中,将此方法添加到 AppDelegate.m

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
    NSLog(@"My token is: %@", deviceToken); // this log out the token

    // the following code store the token to app's profile, 
    // you dont need to do this if you dont want to

    NSString *tokenString = [NSString stringWithFormat:@"%@",deviceToken];
    [[NSUserDefaults standardUserDefaults] setObject:tokenString forKey:@"devicetoken"];
    [[NSUserDefaults standardUserDefaults] synchronize];
    NSLog(@"Data saved");    
}

然后,当您在设备(iphone/ipad)上构建和运行您的应用程序时,您将看到控制台上打印的令牌.. 后面的行

于 2013-07-11T23:24:51.553 回答