「Unity/ローカル通知」の版間の差分
提供: 初心者エンジニアの簡易メモ
(→各種設定) |
|||
(同じ利用者による、間の21版が非表示) | |||
行4: | 行4: | ||
#Mobile Notificationsを選択 | #Mobile Notificationsを選択 | ||
#インストール | #インストール | ||
+ | #Assets/Editor/com.unity.mobile.notifications/にインストールされることを確認 | ||
+ | |||
+ | ==設定== | ||
+ | #Edit/Project Settings/Mobile Notifications | ||
+ | に設定画面がある | ||
+ | |||
+ | ===androidアイコン設定=== | ||
+ | #Androidタブ選択 | ||
+ | #Notifications Iconを選択し、png画像をドラッグ&ドロップ | ||
+ | Small 48x48 | ||
+ | Large 192x192 | ||
+ | |||
+ | *Smallアイコンは、通知の白黒アイコンで、背景は透過にする必要がある。 | ||
+ | *Largeアイコンは、通知とともに出るカラーアイコン。 | ||
+ | |||
+ | ====以下エラーが出る場合==== | ||
+ | Specified texture can't be used because: | ||
+ | Read/Write is not enabled in the texture importer. | ||
+ | |||
+ | 画像のInspectorのAdvancedを開いて、Read/Write Enabledにチェックを入れるとよい。 | ||
+ | |||
+ | 参考:https://traitam.hatenablog.com/entry/2020/04/05/133704 | ||
+ | |||
+ | ====アイコン画像が設定されない場合==== | ||
+ | LocalPushNotification.cs内の | ||
+ | 以下をMobileNotificationの設定のSmallとLargeのIdentifierにあわせて、SmallIconとLargeIconを設定する | ||
+ | <pre> | ||
+ | static private void SetAndroidNotification(string title, string message, int badgeCount, int elapsedTime, string cannelId) | ||
+ | { | ||
+ | var notification = new AndroidNotification | ||
+ | { | ||
+ | Title = title, | ||
+ | Text = message, | ||
+ | Number = badgeCount, | ||
+ | SmallIcon = "icon_0", | ||
+ | LargeIcon = "icon_1", | ||
+ | FireTime = DateTime.Now.AddSeconds(elapsedTime) | ||
+ | }; | ||
+ | </pre> | ||
+ | |||
+ | 参考:https://shibuya24.info/entry/mobilenotifications | ||
+ | |||
+ | ===各種設定=== | ||
+ | ====android側==== | ||
+ | |||
+ | *RescheduleOnDeviceRestart :チェックをつけると、再起動時に、スケジュールが消えてしまったものを、再スケジュールする。 | ||
+ | *Schedule at exact time:正確なスケジュールを使うかどうか。 | ||
+ | *UseCustomActivity:ユーザーが通知をクリックしたときに開かれるアクティビティを上書きする場合は、有効にします。 | ||
+ | |||
+ | 公式:ttps://docs.unity3d.com/ja/Packages/com.unity.mobile.notifications@2.1/api/Unity.Notifications.NotificationSettings.AndroidSettings.html | ||
+ | |||
+ | ==csサンプル== | ||
+ | 以下からLocalPushNotificationを追加 | ||
+ | |||
+ | https://qiita.com/syou007/items/dd5cbd8be7590e12f3cf | ||
+ | |||
+ | ===push通知発行=== | ||
+ | <pre> | ||
+ | LocalPushNotification.RegisterChannel("channelId", "アプリ名(チャンネル名)", "説明"); | ||
+ | LocalPushNotification.AddSchedule("プッシュ通知タイトル", "内容", 1, 60, "channelId"); | ||
+ | </pre> | ||
+ | 第3引数のbadgeCountは、スマホアプリボタンのicon右上に表示される通知件数の数字。 | ||
+ | |||
+ | ===push通知削除=== | ||
+ | <pre> | ||
+ | LocalPushNotification.AllClear(); | ||
+ | </pre> | ||
+ | |||
+ | ==Androidビルド時にenableUncompressedNativeLibsエラー== | ||
+ | MobileNotificationがエラーを起こしている。 | ||
+ | エラー詳細 | ||
+ | <pre> | ||
+ | WARNING:The option setting 'android.bundle.enableUncompressedNativeLibs=false' is deprecated. | ||
+ | The current default is 'true'. | ||
+ | It will be removed in version 8.0 of the Android Gradle plugin. | ||
+ | </pre> | ||
+ | 対応方法: | ||
+ | MobileNotificationを2(2.2.1)系から1.4.4へ | ||
==参考== | ==参考== | ||
https://qiita.com/syou007/items/dd5cbd8be7590e12f3cf | https://qiita.com/syou007/items/dd5cbd8be7590e12f3cf |
2024年9月13日 (金) 23:30時点における最新版
目次
ローカル通知に使うライブラリMobile Notificationsをインストール
- window/package managerを選択
- 左上の+の右ドロップボックスが、InProjectになってれば、UnityRegistoryを選択
- Mobile Notificationsを選択
- インストール
- Assets/Editor/com.unity.mobile.notifications/にインストールされることを確認
設定
- Edit/Project Settings/Mobile Notifications
に設定画面がある
androidアイコン設定
- Androidタブ選択
- Notifications Iconを選択し、png画像をドラッグ&ドロップ
Small 48x48 Large 192x192
- Smallアイコンは、通知の白黒アイコンで、背景は透過にする必要がある。
- Largeアイコンは、通知とともに出るカラーアイコン。
以下エラーが出る場合
Specified texture can't be used because: Read/Write is not enabled in the texture importer.
画像のInspectorのAdvancedを開いて、Read/Write Enabledにチェックを入れるとよい。
参考:https://traitam.hatenablog.com/entry/2020/04/05/133704
アイコン画像が設定されない場合
LocalPushNotification.cs内の 以下をMobileNotificationの設定のSmallとLargeのIdentifierにあわせて、SmallIconとLargeIconを設定する
static private void SetAndroidNotification(string title, string message, int badgeCount, int elapsedTime, string cannelId) { var notification = new AndroidNotification { Title = title, Text = message, Number = badgeCount, SmallIcon = "icon_0", LargeIcon = "icon_1", FireTime = DateTime.Now.AddSeconds(elapsedTime) };
参考:https://shibuya24.info/entry/mobilenotifications
各種設定
android側
- RescheduleOnDeviceRestart :チェックをつけると、再起動時に、スケジュールが消えてしまったものを、再スケジュールする。
- Schedule at exact time:正確なスケジュールを使うかどうか。
- UseCustomActivity:ユーザーが通知をクリックしたときに開かれるアクティビティを上書きする場合は、有効にします。
公式:ttps://docs.unity3d.com/ja/Packages/com.unity.mobile.notifications@2.1/api/Unity.Notifications.NotificationSettings.AndroidSettings.html
csサンプル
以下からLocalPushNotificationを追加
https://qiita.com/syou007/items/dd5cbd8be7590e12f3cf
push通知発行
LocalPushNotification.RegisterChannel("channelId", "アプリ名(チャンネル名)", "説明"); LocalPushNotification.AddSchedule("プッシュ通知タイトル", "内容", 1, 60, "channelId");
第3引数のbadgeCountは、スマホアプリボタンのicon右上に表示される通知件数の数字。
push通知削除
LocalPushNotification.AllClear();
Androidビルド時にenableUncompressedNativeLibsエラー
MobileNotificationがエラーを起こしている。 エラー詳細
WARNING:The option setting 'android.bundle.enableUncompressedNativeLibs=false' is deprecated. The current default is 'true'. It will be removed in version 8.0 of the Android Gradle plugin.
対応方法: MobileNotificationを2(2.2.1)系から1.4.4へ