Push To StartとDefault Live Activity Typeのサポートを備えた、React Native、Flutter、Unity、Cordovaなどの OneSignalのWrapper SDKでLive Activitiesを実装する方法を学びます。
Live Activitiesは比較的新しいiOS機能であり、ネイティブ実装が必要です。これは、React Native、Flutter、Unity、Cordovaなどのクロスプラットフォームフレームワークを使用する際に課題となる可能性があります。プロセスを簡素化するために、OneSignalのSDKには、ネイティブコードの要件を最小限に抑え、サポートされているプラットフォーム全体でLive Activityの統合を効率化する機能が含まれています。
OneSignal SDKにDefaultLiveActivityAttributesタイプのLiveActivityライフサイクルを管理するように指示するには、setupDefaultメソッドを呼び出すことができます。このメソッドを使用すると、Start Live ActivityとUpdate Live Activityの両方のAPIを使用して、Default Live Activityを開始/更新/終了できます。
import { OneSignal } from 'react-native-onesignal'//Push To StartOneSignal.LiveActivities.setupDefault()//Launching the Live Activity from within the app (not needed for push to start)const activityId = "my_activity_id"const attributes = { title: "Sample Title" } ;const content = { message: { en: "message" } };OneSignal.LiveActivities.startDefault(activityId, attributes, content);
using OneSignalSDK;//Push To StartOneSignal.LiveActivities.SetupDefault();//Launching the Live Activity from within the app (not needed for push to start)string activityId = "my_activity_id";OneSignal.LiveActivities.StartDefault( activityId, new Dictionary<string, object>() { { "title", "Welcome!" } }, new Dictionary<string, object>() { { "message", new Dictionary<string, object>() { { "en", "Hello World!"} }}, });
/*Cordova*///Push To Startwindow.plugins.OneSignal.LiveActivities.setupDefault();//Launching the Live Activity from within the app (not needed for push to start)const activityId = "my_activity_id";const attributes = { title: "Sample Title" };const content = { message: { en: "message" } };window.plugins.OneSignal.LiveActivities.startDefault( activityId, attributes, content);/*Ionic/Capacitor*/import OneSignal from "onesignal-cordova-plugin";//Push To StartOneSignal.LiveActivities.setupDefault();//Launching the Live Activity from within the app (not needed for push to start)const activityId = "my_activity_id";const attributes = { title: "Sample Title" };const content = { message: { en: "message" } };OneSignal.LiveActivities.startDefault(activityId, attributes, content);
using OneSignalSDK;//Push To StartOneSignal.LiveActivities.SetupDefault();//Launching the Live Activity from within the app (not needed for push to start)string activityId = "my_activity_id";OneSignal.LiveActivities.StartDefault( activityId, new Dictionary<string, object>() { { "title", "Welcome!" } }, new Dictionary<string, object>() { { "message", new Dictionary<string, object>() { { "en", "Hello World!"} }}, });
import 'package:onesignal_flutter/onesignal_flutter.dart';OneSignal.LiveActivities.setupDefault()//Launching the Live Activity from within the app (not needed for push to start)const String activityId = "my_activity_id";OneSignal.LiveActivities.startDefault(activityId!, { "title": "Welcome!" }, { "message": {"en": "Hello World!"},});
これらは、独自のPush To Startトークンを生成したい場合に使用するオプションのメソッドです。これは、SDKの最新リリースにも追加されています。これらのメソッドを使用するには、Xcodeとのやり取りを増やし、Swiftを使用してPush To Start用の独自のトークンを生成する必要があります。このガイドはこちらで見つけることができます。
//Setting the Push To Start TokenOneSignal.LiveActivities.setPushToStartToken(activityType: string, token: string)//Removing the Push To Start TokenOneSignal.LiveActivities.removePushToStartToken(activityType: string)
//Setting the Push To Start TokenOneSignal.LiveActivities.SetPushToStartToken(string activityType, string token)//Removing the Push To Start TokenOneSignal.LiveActivities.RemovePushToStartToken(string activityType)
/* Cordova *///Setting the Push To Start Tokenwindow.plugins.OneSignal.LiveActivities.setPushToStartToken(activityType: string, token: string)//Removing the Push To Start Tokenwindow.plugins.OneSignal.LiveActivities.removePushToStartToken(activityType: string)/* Ionic *///Setting the Push To Start TokenOneSignal.LiveActivities.setPushToStartToken(activityType: string, token: string)//Removing the Push To Start TokenOneSignal.LiveActivities.removePushToStartToken(activityType: string)
//Setting the Push To Start TokenOneSignal.LiveActivities.SetPushToStartToken(string activityType, string token)//Removing the Push To Start TokenOneSignal.LiveActivities.RemovePushToStartToken(string activityType)
//Setting the Push To Start TokenOneSignal.LiveActivities.setPushToStartToken(String activityType, String token)//Removing the Push To Start TokenOneSignal.LiveActivities.removePushToStartToken(String activityType)