各OSとSDKの設定項目における挙動や実装についてまとめました。
実装の参考にご活用ください。
・初回起動時のプッシュ通知の許諾ダイアログをOFFに設定した場合の各OS挙動について
・初回起動時のプッシュ通知の許諾ダイアログを非表示(SKIP)にした場合の挙動について
プッシュ配信について
各OSとSDKの設定において、プッシュ配信の可否をまとめました。
iOS
補足
前提としてiOSは「push_enabled = true」となるには、「お知らせを受信する」、「通知を許可」の両方がONであることと、
「ロック画面」、「通知センター」、「バナー」、「サウンド」、「バッジ」のいずれかがONである必要があります。
※「ロック画面」、「通知センター」に関しては、iOS ver 9.1.0にて条件追加されました。
※「push_enabled = true」は、FANSHIPがプッシュ通知を送信対象と見做す指標です。
通知許可設定 | 挙動 |
お知らせを受信する:ON 通知の許可:ON |
配信タイプ1、4の場合は、プッシュ通知もお知らせも届きます。 |
お知らせを受信する:ON 通知の許可:OFF |
「push_enabled = false」となるため、プッシュ通知は届きません。 |
お知らせを受信する:OFF 通知の許可:ON |
同上 |
Android
上記画像の右側、端末設定画面では「FANHIP DEMO のすべての通知」と表示されていますが、端末のバージョンによって「通知の表示」と表示されます。
ここでは「通知の表示」と表記を統一して記載いたします。
補足
前提として、「お知らせを受信する」と、「通知の表示」は連動していません。
「お知らせを受信する」がONであればプッシュ通知は届きます。
通知許可設定 | 挙動 |
お知らせを受信する:ON 通知の表示:ON |
「お知らせを受信する」がONであればプッシュ通知は届きます。 |
お知らせを受信する:ON 通知の表示:OFF |
同上。 |
お知らせを受信する:OFF 通知の表示:ON |
「お知らせを受信する」がOFFであればプッシュ通知は届きません。 |
初回起動時のプッシュ通知の許諾ダイアログをOFFに設定した場合の各OS挙動について
初回起動時のプッシュ通知の許可ダイアログでOFFを設定した場合、端末とSDKの設定項目がどのように設定されるかまとめました。
iOS
設定項目 | 挙動 |
「通知の許可」 | OFF |
「お知らせを受信する」 | ON |
Android
設定項目 | 挙動 |
「通知の表示」 | ON |
「お知らせを受信する」 | OFF |
初回起動時のプッシュ通知の許諾ダイアログを非表示(SKIP)にした場合の挙動について
初回起動時のプッシュ通知の許可ダイアログをSKIPした場合、SDKの設定項目がどのように設定されるかまとめました。
iOS
iOSに関しては、仕様上許諾ダイアログを非表示にすることはできません。
任意で表示されるタイミングを変更することはできますが、Androidのようにスキップすることは不可となります。
Android
※許諾ダイアログの非表示については、POPINFO_SKIP_PUSH_AGREEMENTをtrueとした場合です
設定項目 | 挙動 | 補足 |
「お知らせを受信する」 | ON | ・push_enabledが自動でtrueとなる ・エンドユーザは「お知らせを受信する」を後から変更可能 ・エンドユーザはOSの設定画面で「通知の表示」を後から変更可能 |
「お知らせを受信する」の項目を非表示とする場合
「お知らせを受信する」の設定項目自体を非表示とする対応をまとめました。
注意:
設定項目自体を非表示とするため、既存ユーザーが後から設定変更出来なくなります。
新規インストールユーザーに関しては「お知らせを受信する」がONに設定されるため、
Androidに関しては通知が常に送られてしまう状態になります。
十分にご検討した上でご利用ください。
iOS
対応方法 | 挙動 |
Settings.bundle > Root.plist ファイルから、項目を削除。 設定に関する項目は Settings.bundle > ja.lproj > Root.stringsを参照。 |
・初回インストール時の許諾ダイアログはOSから表示される ・「お知らせを受信する」がONに設定される ・エンドユーザは「お知らせを受信する」を後から変更不可 ・エンドユーザは「通知を許可」を後から変更可能 |
Android
対応方法 | 挙動 |
組み込みガイドのファイル構成にある「FANSHIP 設定画面」を参照。 popinfo_settings.xmlファイルの <!-- お知らせ受信の設定 --> について非表示にする。 |
・エンドユーザは「お知らせを受信する」を後から変更不可 ※既存がONの人はON、OFFの人はOFFのまま ※新規インストールの人はON ・エンドユーザは「通知を表示」を後から変更可能 |
「位置情報を送信する」の項目を非表示とする場合
「位置情報を送信する」の設定項目自体を非表示とする対応をまとめました。
注意:
設定項目自体を非表示とするため、既存ユーザーが後から設定変更出来なくなります。
十分にご検討した上でご利用ください。
iOS
対応方法 | 挙動 |
Settings.bundle > Root.plist ファイルから、 「位置情報を送信する」に関する項目(Item2, Item3, Item4)を削除。 設定に関する項目は Settings.bundle > ja.lproj > Root.stringsを参照。 |
・非表示にした項目をエンドユーザが後から変更不可 ※既存がONの人はON、OFFの人はOFFのまま |
Android
対応方法 | 挙動 |
組み込みガイドのファイル構成にある「FANSHIP 設定画面」を参照。 popinfo_settings.xmlファイルの位置情報に関する箇所を非表示にする |
・非表示にした項目をエンドユーザが後から変更不可 ※既存がONの人はON、OFFの人はOFFのまま |
「位置情報精度」の項目を非表示とする場合
「位置情報精度」の設定項目自体を非表示とする対応をまとめました。
注意:
設定項目自体を非表示とするため、既存ユーザーが後から設定変更出来なくなります。
十分にご検討した上でご利用ください。
iOS
対応方法 | 挙動 |
Settings.bundle > Root.plist ファイルから、 位置情報精度に関する項目(Item5)を削除。 設定に関する項目は Settings.bundle > ja.lproj > Root.stringsを参照。 |
・非表示にした項目をエンドユーザが後から変更不可 ※既存が高の人は高、低の人は低のまま |
Android
Androidは「位置情報精度」の項目を保持しておりません