高度なデザインのトラブルシューティング
ブラウザを使用しながら、さまざまなデバイスでアプリ内デザインを確認する方法。これらの手順では、macOS上のChromeバージョン138を使用します。- アプリ内メッセージブロックエディターを開きます。
- プレビューで、任意のアプリ内メッセージブロックを右クリックし、「検証」を選択します。
- Elementsタブで、DOMツリーを上に移動して
#document要素を見つけます。

アプリ内メッセージブロックエディターのElementsタブにある#document要素
#document要素内のリンクを右クリックし、「新しいタブで開く」を選択します。- 新しいタブにアプリ内メッセージのデザインが表示されます。
- 新しいタブのアプリ内メッセージデザインを再度右クリックし、「検証」を選択します。
- Elementsタブで、「Toggle device toolbar」ボタンを選択します。

アプリ内メッセージブロックエディターのElementsタブにあるToggle device toolbarボタン
- さまざまなデバイスでどのように表示されるかを確認するために、寸法を更新します。
iPhone SE(375x667)とiPad Pro(1024x1366)でテストすることをお勧めします。

Chrome DevTools内でさまざまなデバイスの寸法をテストする
アプリ内メッセージを受信できる最小のAndroidおよびiOSバージョンは何ですか?
アプリ内メッセージを受信できる最小のAndroidバージョンは4.4です。デバイスがこのバージョン未満の場合、アプリ内メッセージは表示されません。 アプリ内メッセージを受信できる最小のiOSバージョンは10.0です。デバイスがこのバージョン未満の場合、アプリ内メッセージは表示されません。推奨される画像の寸法は何ですか?
アプリ内メッセージは、現在表示されている電話の寸法に基づいて表示されます。デバイスと解像度(特にAndroid)には一般的なアスペクト比がいくつかあり、これらすべてがアプリ内メッセージの表示に影響を与える可能性があります。16:9のアスペクト比がデバイスで最も一般的ですが、4:3と3:2のアスペクト比は妥協点に近いです。
API経由でアプリ内を作成できますか?
現在、すべてのアプリ内メッセージはOneSignalダッシュボードを通じて作成する必要があります。 アプリの各ページで、addTriggerメソッドを設定でき、アプリへの独自のAPIリクエストを通じて、ダッシュボード内で設定されたトリガーkey:valueを供給して、独自のネットワークリクエストに基づいてIAMをトリガーできます。
アプリ内を更新しました。アプリ内の変更はいつ有効になりますか?
ダッシュボードからアプリ内メッセージを更新すると、変更はすぐに有効になり、エンドユーザーはアプリを30秒間閉じてから再度開いた後に更新されたメッセージを表示します。 詳細については、IAMデータが更新されないのはなぜですか?を参照してください。タグ置換またはメッセージのパーソナライゼーションは利用できますか?
はい、タグ置換はiOS SDKバージョン2.16.4以降およびAndroid SDKバージョン3.16.0以降でのみサポートされます。 データタグを使用して、ユーザーのコンテンツとクリックアクション動作をパーソナライズできます。メッセージローカリゼーションを使用してアプリ内を送信するにはどうすればよいですか?
現在、異なる言語に対して異なるアプリ内メッセージを設定し、デバイス言語フィルターに基づいてセグメントをターゲットにすることができます。アプリ内メッセージが空白または全体が白く表示されるのはなぜですか?
アプリ内メッセージはwebviewを使用してコンテンツを表示します。メッセージ内でコンテンツを送信しているのに空白で表示される場合、レイアウト制約を変更している可能性があります。アプリのカスタムwebview設定を確認してください。Androidで確認する一般的な例は、WindowManager.LayoutParamsです。
アプリ内メッセージのデータが更新されないのはなぜですか?
デザインの更新
OneSignalダッシュボード内でアプリ内メッセージに加えられた変更は、アプリが30秒間閉じられると、アプリに反映されます。IAMへの変更を保存した後、アプリを閉じるか30秒間バックグラウンドに置き、次に開いたときに、次にトリガーされたときに変更が表示されます。 テストデバイスに送信ボタンを使用しても、タグ置換は反映されません。タグ置換のパーソナライゼーションを表示するには、IAMを通常どおりトリガーする必要があります。分析、クリック、インプレッションの更新
テストデバイスに送信ボタンを使用しても、IAM分析には寄与しません。統計の更新を確認するには、このボタンを使用せずにIAMをトリガーする必要があります。 テストデバイスに送信ボタンを使用していない場合は、デバッグログのキャプチャに関するこのガイドに従って問題をトラブルシューティングできます。それでもサポートが必要な場合は、アプリの起動から再現の終了までの完全なログを.txtファイルとしてsupport@onesignal.comのサポートチームと共有してください。
アプリ内メッセージの重複
デバイスでアプリ内メッセージが重複して表示される一般的な理由は次のとおりです:- 同じに見える複数のIAMがアクティブになっています。
- メッセージが頻繁にトリガーされすぎています。トリガーの追加方法およびこのメッセージをどのくらいの頻度で表示しますか?オプションを確認してください。
Viewが現在のActivityの子であることによって引き起こされています。アクティビティ間でインテントが発生するたびに、IAMは現在のActivityのライフサイクルを模倣し、場合によってはちらつきを引き起こします。最も一般的なケースは、IAMが自分自身を非表示にし、新しいActivityで再表示することです。
残念ながら、この機能は、ApplicationレベルでIAMを表示するために権限を必要としない最も近い利用可能な機能です。詳細については、この未解決のGitHubイシューを参照してください。GitHubイシューでエンジニアに直接応答することをお気軽にどうぞ。また、SDKはオープンソースですので、修正やその他のソリューションについてアイデアがある場合は、提出されたPRを喜んで検討します!
それでもこの問題が発生していて、上記のいずれかの理由ではない場合は、次の詳細をサポートチームと共有してください:
- 使用しているOneSignal SDK(複数可)のバージョン
- デバイスOSバージョン
- アプリの起動から問題点までのXcodeログまたはAndroid Studio logcat
- アプリ内のその他のライブラリまたはプラグイン
- 問題の再現に関する詳細。