gpt4 book ai didi

php - 如何获取设备 token

转载 作者:可可西里 更新时间:2023-10-31 23:32:37 27 4
gpt4 key购买 nike

我有一个适用于 iOS 的应用程序,我想在其中集成推送通知。我见过tutorial on youtube一切正常,但最近我正在使用开发证书(用于测试 - 不用于 AppStore)并且我的服务器上有 PHP 脚本。在这个文件中存储了我的 iPhone 的 deviceToken,它是用 php 变量 $deviceToken 编写的。但是现在,当我想在 AppStore 中使用它时,如何从下载我的应用程序的每个人那里获取设备 token 并将其放入 PHP 脚本中?

这是我的 PHP 文件:

 if($_POST['message']){

$deviceToken = '(my device token)';

$message = stripslashes($_POST['message']);

$payload = '{
"aps" :

{ "alert" : "'.$message.'",
"badge" : 1,
"sound" : "bingbong.aiff"
}
}';

$ctx = stream_context_create();
stream_context_set_option($ctx, 'ssl', 'local_cert', 'cert.pem');
stream_context_set_option($ctx, 'ssl', 'passphrase', 'password');
$fp = stream_socket_client('ssl://gateway.sandbox.push.apple.com:2195', $err, $errstr, 60, STREAM_CLIENT_CONNECT, $ctx);
if(!$fp){
print "Failed to connect $err $errstrn";
return;
} else {
print "DONE!";
}

$devArray = array();
$devArray[] = $deviceToken;

foreach($devArray as $deviceToken){
$msg = chr(0) . pack("n",32) . pack('H*', str_replace(' ', '', $deviceToken)) . pack ("n",strlen($payload)) . $payload;
fwrite($fp, $msg);
}
fclose($fp);
}

<form action="send-notification.php" method="post">
<input type="text" name="message" maxlength="100">
<input type="submit" value="SEND">
</form>
</body>

这就是我在 xCode (AppDelegate.m) 中的内容

   - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound)];

return YES;
}

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
NSString *deviceTokenString = [NSString stringWithFormat:@"%@", deviceToken];
NSLog(deviceTokenString);
}

最佳答案

嗯,我不懂PHP,所以我不能给你具体的代码,但我可以解释一下大概的原理。

当您的应用程序启动时,您应该通过调用 registerForRemoteNotificationTypes: 方法注册到 Apple Push Notifications。

当注册成功并获得设备 token 时,您应该在application:didRegisterForRemoteNotificationsWithDeviceToken: 的实现中将其发送到您的服务器。

您的服务器应该将其存储在某个数据库中。

发送通知的 PHP 脚本应该从该数据库获取设备 token 。

关于php - 如何获取设备 token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14102349/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com