アプリに実装された OneSignal 通知を使用していますが、すべてうまく機能しています。
ユーザーが通知をタップしたときに、メインの Web ビューに移動せずに投稿に直接移動したい。私はそれについて検索し、追加データと呼ばれるものを見つけましたが、Android Studio を使用してコード内に追加データを実装する方法がわかりません。
notificationOpened
追加のデータがインターフェイスからメソッドに渡されNotificationOpenedHandler
ます。
OneSignal 4. Add Optional NotificationOpenedHandleradditionalData
ガイドに従ってセットアップし、変数からキーを読み取ります。
ダッシュボードの [追加データ] セクションまたは作成通知REST API POST 呼び出しのフィールドでtargetUrl
設定できる例。次に、このキーを確認し、値を使用して Web ビューを呼び出します。例。https://google.com
data
additionalData
loadUrl
public class YourActivityClass extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
WebView webview = (WebView) findViewById(R.id.webview);
OneSignal.startInit(this)
.setNotificationOpenedHandler(new ExampleNotificationOpenedHandler())
.init();
}
private class ExampleNotificationOpenedHandler implements NotificationOpenedHandler {
public void notificationOpened(String message, JSONObject additionalData, boolean isActive) {
if (additionalData != null && additionalData.has("targetUrl"))
webview.loadUrl(additionalData.optString("targetUrl"));
}
}
}
注: 上記のコードWebView
は、 がランチャーにある場合にのみ機能しますActivity
。Application
そうでない場合は、代わりにクラスで OneSignal init をセットアップして呼び出す必要がありますstartActivity
。