初期化¶
SDKの初期化処理を行います。
初期化の実行¶
// RichflyerSdkFlutterクラス
Future<void> RFInitialize(RichFlyerSettings settings, Function(RFResult result) callback)
パラメータ | 内容 |
---|---|
settings | 設定値を保持したRichFlyerSettingsオブジェクト |
callback | 実行結果。RFResultオブジェクト |
(iOS)通知許可ダイアログの表示
RFInitializeメソッドを呼ぶと、プッシュ通知受信の許可確認ダイアログが表示されます。
RichFlyerSettingsクラス¶
プッシュ通知に関する設定を保持します。iOSまたはAndroidのみで有効な設定も含みます。
class RichFlyerSettings{
String serviceKey;
List<LaunchMode> launchMode;
String iosGroupId;
RichFlyerPrompt? prompt;
bool iosSandbox;
String androidThemeColor;
}
プロパティ | OS | 内容 |
---|---|---|
serviceKey | 共通 | 管理サイトで発行されたSDK実行キー SDK実行キーの取得方法 |
launchMode | 共通 | 起動時通知を有効にする通知の種類(詳細) |
iosGroupId | iOS | AppGroupsのGroup ID |
prompt | iOS | OSが表示するプッシュ通知の許可ダイアログの表示前に、プロモーション表示をする場合、その情報を格納するオブジェクト |
iosSandbox | iOS | プッシュ通知を開発・検証環境で実施するか(true / false) |
androidThemeColor | Android | プッシュ通知詳細ダイアログの枠線およびカスタムアクションボタンの色 |
起動時通知の設定¶
起動時通知の設定
通知受信後に通知を開封せずにアプリを起動した際に、直前に受信した通知を表示することができます。(起動時通知)
通知のタイプ(テキストのみ、静止画添付、GIF添付、動画添付)によって動作を変えることが可能です。
デフォルトでは、動画またはGIFが添付された通知で起動時通知が有効になっています。
無効にする場合は、空の配列を指定します。
enum LaunchMode {text, image, gif, movie}
設定例
settings.launchMode = [LaunchMode.image, LaunchMode.movie];
プッシュ通知受信許可を促すダイアログ¶
プッシュ通知受信許可ダイアログ
iOSでは、プッシュ通知の受信許可をユーザーに確認するダイアログがOSによって表示されます。
RichFlyerでは、このダイアログが表示される前に受信の許可をユーザーに促すためのダイアログを表示できます。
詳細な設定方法はこちらを参照してください。
class RichFlyerPrompt{
final String title; //ダイアログに表示するタイトル
final String message; //メッセージ
final String imageName; //Xcodeに追加した画像の名前
}
設定例
settings.prompt = RichFlyerPrompt("お得な情報", "通知を許可するとお得な情報が届きます!!", "Information");
RFResultオブジェクト¶
class RFResult{
final bool result; // 結果
final int errorCode; // エラーコード
final String message; // エラーメッセージ
}
実装例¶
Dart
import 'package:richflyer_sdk_flutter/richflyer_settings.dart';
import 'package:richflyer_sdk_flutter/richflyer_sdk_flutter.dart';
class _MyAppState extends State<MyApp> {
final _richflyerSdkFlutterPlugin = RichflyerSdkFlutter();
@override
void initState() {
super.initState();
RFInitialize();
}
// RichFlyerの初期化
Future<void> RFInitialize() async {
RichFlyerSettings settings = RichFlyerSettings();
settings.serviceKey = "11111111-2222-3333-aaaa-bbbbbbbbbbbb";
settings.launchMode = [LaunchMode.image, LaunchMode.movie];
settings.iosGroupId = "group.net.richflyer.app";
settings.prompt = RichFlyerPrompt("お得な情報", "通知を許可するとお得な情報が届きます!!", "Information");
settings.iosSandbox = true;
settings.androidThemeColor = "#468ACE";
await _richflyerSdkFlutterPlugin.RFInitialize(settings, (result) => {
if (result.result) {
debugPrint("RichFlyer初期化成功"),
} else {
debugPrint("${result.message}code:${result.errorCode.toString()}")
}
});
}
}