2017-03-24 40 views
1

作成したpkpassがあるデバイスにプッシュ通知を送信しようとしています。 デバイスが自動アップデートのために正常に登録されました。私はそのトークンを持っています。iOSデバイスへのプッシュ通知の送信

APNSにプッシュするには、パッケージ "daim2k5/laravel-push-notification"を使用しています。 私はLaravel 5.2を使用していますが、それは非常に多くのパッケージではありません。

しかし、私はプッシュしようとしているとき、私はいつもアダプタAPNSは2a984ecb2a947786dc4479d25109a172トークンのデバイス

$devices = \PushNotification::DeviceCollection(array(
     \PushNotification::Device('2a984ecb2a947786dc4479d25109a172', array('badge' => 1)) 
    )); 

$r = \PushNotification::app([ 
     'environment' =>'production', 
     'certificate' =>'awdrca.pem', 
     'passPhrase' =>'password', 
     'service'  =>'apns' 
    ])->to($devices) ->send('Test'); 

は(トークンは、この形式でそのない本当のトークン、単なる一例である)をサポートしていません取得トークン私は本当に無効ですか?それとも、どこにエラーがありますか?

+0

証明書を確認してください。また、https://github.com/davibennun/laravel-push-notification/issues/96を確認してください。 – Priyal

+0

証明書は大丈夫です.Pkpassesの作成にも使用しています。正常に動作しています。 –

+0

@Priyal tokkenの文字列の長さが正しくないようです。私は32文字しか持っていませんし、gyu robschuhは長さ64文字をチェックしています。しかし、私は受け取ったトークン全体を保存しています。 –

答えて

1

iOSデバイスから正しいフォーマットのデバイストークンを取得していることを確認してください。ここでは、デバイストークンで適切なフォーマットがサポートされています。

NSString * token = [NSString stringWithFormat:@"%@", deviceToken]; 
    //Format token as you need: 
    token = [token stringByReplacingOccurrencesOfString:@" " withString:@""]; 
    token = [token stringByReplacingOccurrencesOfString:@">" withString:@""]; 
    token = [token stringByReplacingOccurrencesOfString:@"<" withString:@""]; 
    NSLog(@"%@", token); 

第二に、iOSとAndroidの両方のために設定するには、シンプルで簡単ですlaravelプッシュ通知パッケージをdavibennun使用してみてください。 https://github.com/davibennun/laravel-push-notification

+0

あなたが言及したパッケージを使用しています。ただし、プッシュ通知の有効期限を設定することはできません。 https://developer.apple.com/library/content/documentation/NetworkingInternet/Conceptual/RemoteNotificationsPG/CommunicatingwithAPNs.html#//apple_ref/doc/uid/TP40008194-CH11-SW1に記載されているように、apns_expirationを設定する方法を知っていますか? ? –

関連する問題