MAPI Error: E60105 (指定されたpopinfo_id のユーザーはプッシュ通知を受信しない設定になっています。)
管理画面にてテスト受信端末登録を行う際、上記のエラーメッセージが表示されて登録できない場合、以下の原因が考えられます。
- アプリ初回起動時のプッシュ通知許諾ダイアログにて「受信しない」を選択した
- popinfo ID が無効になっている
- サーバー側への反映にタイムラグが発生した(許諾変更直後など)
- デバイストークンが正しく取得できていない
対応方法(iOS・Android共通)
アプリを再インストールし、プッシュ通知許諾ダイアログにて「許可」を選択することで解消される場合がございます。
アプリをインストールした直後や、許諾変更直後は状況によりサーバー側への反映にタイムラグが発生することがございますので、時間をおいて再度ご確認ください。
参考:
SDKからFANSHIPサーバに情報を送るタイミングについて
上記で解決しない場合、デバイストークンが正しく取得できていない可能性があるため、以下の点をご確認ください。
【iOS】
- SDK と Xcode のバージョンの組み合わせが誤っている
- 組み込みガイドの「開発環境」ページにて正しい組み合わせをご確認ください
- ビルド時の設定が間違っている
- 製品用のビルド証明書でAdHocビルドをしていた、等
- デバイストークンの払い出しが行われていない
- SDKに内包されている AppDelegate.swift ファイル(Objective C の場合は、AppDelegate.m ファイル)の以下の部分にログ出力処理を入れると、OSからのデバイストークンの払い出しが成功したかどうか確認できます
// [★必須4:ここから] APNsトークンを popinfoReceiver に登録します
func application(_ application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: Data) {
self.popinfoReceiver.registerToken(deviceToken)
}
// [★必須4:ここまで]// [★必須5:ここから] APNsトークン失敗時のエラーを確認できるようにします
func application(_ application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: Error) {
NSLog("didFailToRegisterForRemoteNotificationsWithError = \(error)")
}
// [★必須5:ここまで]
- SDKに内包されている AppDelegate.swift ファイル(Objective C の場合は、AppDelegate.m ファイル)の以下の部分にログ出力処理を入れると、OSからのデバイストークンの払い出しが成功したかどうか確認できます
【Android】
- FANSHIP SDKを組み込む前のバージョンにFirebase関連のライブラリを組み込んでいた場合、FANSHIPのガイド通りにFirebase周りが実装されてない可能性があります。
※Firebase関連のライブラリは、FCMを使用していない場合でも初回起動時に自動でトークンを取得します。 - アプリアップデートにおいて、デバイストークンの更新処理は行われないことが多いため、アプリ内で取得してFANSHIPへ渡す実装をする必要があります。このようなFirebase周りの組み込み実装のミスが起こっている可能性がございますので、ご確認ください。
- AndroidManifest.xml に以下を設定し、アプリを起動すると、popinfo IDの取得~プッシュ通知受信準備完了(通知受信可能状態)までの処理の結果が画面上にトーストで表示されますので、お試しください。
<meta-data
android:name="POPINFO_DEBUG"
android:value="true" />
- AndroidManifest.xml に以下を設定し、アプリを起動すると、popinfo IDの取得~プッシュ通知受信準備完了(通知受信可能状態)までの処理の結果が画面上にトーストで表示されますので、お試しください。
- Firebaseコンソールプロジェクトからダウンロードした google-services.json のAPI Keyが正しいかご確認ください。
- FCMのAPI Keyは 1プロジェクトに対して複数作ることができるため、コンソールからダウンロードした google-services.json のAPI Keyが正しくない場合があります。
jsonファイル内を確認し、意図したものになっているか、ご確認ください。
- FCMのAPI Keyは 1プロジェクトに対して複数作ることができるため、コンソールからダウンロードした google-services.json のAPI Keyが正しくない場合があります。
その他、以下に当てはまらないかご確認ください。
- 端末がGCM、またはFCMに対応していない
- 端末の時刻が正しくない(Playストアと同期が取れない)
- Playストアのバージョンが古い
- 端末にGoogleアカウントが設定されていない
- AndroidManifest.xml の記述が正しくない
- Sender IDが正しくない
- 正しいFirebase コンソールプロジェクトからダウンロードした google-services.json を内包していない