标签: devicetoken

Apple推送通知注册和设备令牌是否收到澄清?

我正在开发一个Apple Push Notification集成的iPhone应用程序.我对此有些怀疑.

  1. 如果用户点击了APNS注册提醒中的"不允许"按钮,我们的代码是否仍会从APNS收到设备令牌?

  2. 我已经测试过,当用户在iPhone通知中关闭通知时,应用程序仍会从APNS接收设备令牌吗?它是正确的?

任何人都可以澄清这些疑虑吗?

iphone apple-push-notifications devicetoken ios

5
推荐指数
2
解决办法
7933
查看次数

如何获取设备令牌

我有一个适用于iOS的应用程序,我想集成那里的推送通知。我在 youtube 上看过一个教程,一切正常,但最近我正在使用开发证书(用于测试 - 不是用于 AppStore),并且我的服务器上有 PHP 脚本。在这个文件中存储有我的 iPhone 的 deviceToken,它是用 php 变量 $deviceToken 编写的。但是现在,当我想在 AppStore 中使用它时,如何从下载我的应用程序的每个人那里获取设备令牌并将其放入 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"; …
Run Code Online (Sandbox Code Playgroud)

php xcode push-notification apple-push-notifications devicetoken

5
推荐指数
1
解决办法
3845
查看次数

获取生产APNS令牌

在开发中一切正常:

  • 我的应用程序(使用Phonegap构建)将设备令牌发送到服务器
  • 我的服务器将通知发送到Apple服务器
  • 我在iPhone上收到通知

但是,当我切换到生产(启用推送通知并为生产创建新的SSL证书)时,我不断从Rapns(安装在我的推送通知服务器上)获得"(8)无效令牌" .

我已经读过这条消息可能是因为我在生产中使用开发设备令牌(即我的服务器使用生产证书,但应用程序在开发中运行并将开发设备令牌发送到服务器).

如何在生产模式下运行应用程序,以便为生产获取有效的设备令牌

我想我应该使用Ad Hoc Distribution Provisioning配置文件,但即使我在Build设置中正确地更改了"Code Signing Identity",我仍然得到了我在开发中获得的相同标记!这显然不起作用.

xcode apple-push-notifications devicetoken cordova

5
推荐指数
1
解决办法
2107
查看次数

如何获取推送通知的Windows Phone设备令牌ID?

我正在使用visual studio 2012在手机间隙+移动jquery中创建一个Windows Phone 8应用程序.我想从设备获取设备令牌ID以进行推送通知.任何人都可以指导我如何获得Windows Phone 8的设备令牌ID?

push-notification devicetoken windows-phone-8 mpns

5
推荐指数
1
解决办法
3770
查看次数

如何识别设备令牌是用于Android还是iOS?

我在DB中存储Android和iOS设备令牌.以下是设备令牌保存在数据库中的几个示例.

  • 359092050465370
  • 654C4DB3-3F68-4969-8ED2-80EA16B46EB0
  • 294913EC-6100-42E8-8C2D-E9F68F286ADE

如何区分特定设备令牌是用于Android还是iOS设备?

iphone android devicetoken ios

5
推荐指数
2
解决办法
1万
查看次数

iOS Parse推送通知推送从Parse网站发送0

我无法接收来自解析网站的推送通知,它说发送到2个设备但推送已发送为0,我可以在解析核心的安装类中看到我的设备带有id和all.

我甚至用过

-(void)application:(UIApplication *)application     didFailToRegisterForRemoteNotificationsWithError:(NSError *)error{
...
}
Run Code Online (Sandbox Code Playgroud)

为了显示任何错误但没有找到任何内容.有关如何解决这种情况的任何建议?

push-notification devicetoken ios parse-platform

5
推荐指数
1
解决办法
325
查看次数

Parse.com deviceToken和PFInstallation未保存

我遇到了我的iOS应用程序PFInstallation的奇怪行为.在每个应用程序启动时,我正在注册设备以接收推送通知并在方法上调用以下代码didRegisterForRemoteNotificationsWithDeviceToken:

PFInstallation *currentInstallation = [PFInstallation currentInstallation];

[currentInstallation setDeviceTokenFromData:deviceToken];

NSLog(@"%@", currentInstallation );

[currentInstallation saveInBackgroundWithBlock:^(BOOL succeeded, NSError *error) {
    if (succeeded) {

        NSLog(@"currentInstallation saved" );

    }

    if (error) {

        NSLog(@"currentInstallation NOT saved" );

    }
}];
Run Code Online (Sandbox Code Playgroud)

当我在iphone上安装应用程序时,使用deviceToken正确保存安装.我绝对相信前几天我通过Parse Dashboard手动删除了deviceToken(尝试一下)然后在app重新启动时,设备令牌再次正确保存.我正在使用的某些频道也是如此.今天没有保存deviceToken,也没有保存频道.saveInBackgroundWithBlock成功但deviceToken字段为空.currentInstallation的NSLog包含deviceToken,但它没有保存.在尝试理解这种行为的原因时,我发现如果我在此currentInstallation.deviceToken = @"";之后添加该行,PFInstallation *currentInstallation = [PFInstallation currentInstallation];则deviceToken会被正确保存.消费Parse guru向我解释为什么会发生这种情况以及为什么几天前它不是?我最近在这个应用程序上升级了Parse Framework,这可能是什么原因?

devicetoken ios parse-platform

5
推荐指数
0
解决办法
884
查看次数

app会在重新安装时给出不同的设备令牌

我记得,在重新安装iPhone时,设备令牌永远不会改变.

然而现在(特别是在iOS 9上),我注意到如果我重新安装应用程序,设备令牌正在改变.

此设置是由Apple完成还是我遗漏了什么?

我必须知道这一点,因为这对我来说非常重要,因为我发送基于特定用户的推送来通知他们的更新.

也没有理由不需要许多设备令牌.

注意

我在App Delegate中的webservice下面调用

- (void)application:(UIApplication*)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData*)deviceToken
{
    // sending it to online database for my record
}
Run Code Online (Sandbox Code Playgroud)

apple-push-notifications devicetoken ios

5
推荐指数
1
解决办法
2735
查看次数

在ios10上没有调用didRegisterForRemoteNotificationsWithDeviceToken

我有2部iphone:1 - ios 10和2 - ios 9

在尝试第一款iphone时:

didRegisterForRemoteNotificationsWithDeviceToken当用户在警报上单击"允许"时,不调用方法但是,方法didRegisterUserNotificationSettingsIS被调用.在这种情况下,设备不会收到推送通知.

在尝试第二款iphone时:

这两种方法都在这里调用.设备可以接收推送通知.

然后我检查了模拟器ios 8

在这种情况下与第1次相同.只调用一种方法.

我检查了类似问题的一些答案,但他们没有帮助我.我怀疑这个问题是在推送通知设置中的某个地方,因为它可以正常工作.所以问题出在ios 10中.

问题是:

  1. 我怎么称呼方法 didRegisterForRemoteNotificationsWithDeviceToken
  2. 或者我如何获得设备令牌,因为它是目标

期待您的帮助!

objective-c push-notification devicetoken ios10

5
推荐指数
1
解决办法
6471
查看次数

Swift iOS 13,使用移动网络时未获得 APNS 设备令牌 (4g/3g)

我试图获得 APNS 推送令牌。

func configPushNotifications(_ application: UIApplication) {
    application.registerForRemoteNotifications()
}
Run Code Online (Sandbox Code Playgroud)

但是,如果我使用的是 My Phone Sim Internet (4g/3g),则没有从 AppDelegate 收到任何令牌。

func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) 
Run Code Online (Sandbox Code Playgroud)

但是如果我使用Wifi,它工作正常。我检查iOS 13.1.213.1.3。两者都有相同的问题。但较低的版本喜欢iOS 12 or 11工作正常。是苹果虫吗?或者我必须为移动网络请求具有不同配置的令牌?

apple-push-notifications devicetoken ios swift

5
推荐指数
1
解决办法
4464
查看次数