ニフクラ mobile backend(NCMB)では公式として各種フレームワーク、環境向けにSDKを提供しています。その1つにUnityがあります。Unity向けに開発を行う際にはC#を利用しますが、このUnity用SDKは.NET環境では利用できません。
そこでコミュニティSDKとしてXamarinや.NET 2.0でも動作するC# SDKを開発しています。今回のバージョンアップ(1.2.0)でプッシュ通知のCRUD操作に対応したので使い方を解説します。
NuGet Gallery | NCMBClient 1.2.0
NCMBをインストール
任意のプロジェクトをVisual Studioで開きます。
そしてプロジェクトを右クリックして、NuGetパッケージの管理を選択します。
出てきたウィンドウで、NCMBClientを検索します。執筆時点での最新版は1.0.0です。これを追加します。
NCMBをインポートする
MainPage.xaml.cs
を開きます。そして、namespaceの下でNCMBClientをインポートします。
namespace MyMauiApp;
using NCMBClient;
クラスの初期化時にNCMBも初期化します。キーはニフクラ mobile backendより取得してください。
public MainPage()
{
InitializeComponent();
new NCMB("YOUR_APPLICATION_KEY", "YOUR_CLIENT_KEY");
}
プッシュ通知の使い方
プッシュ通知の保存
プッシュ通知を保存する際には、対象とする target
、そして即時配信の immediateDeliveryFlag
または配信日時を指定する deliveryTime
のどちらかが必須です。
var push = new NCMBPush();
push.Set("immediateDeliveryFlag", true);
var target = new string[] { "ios" };
push.Set("target", target);
await push.Save();
プッシュ通知を更新する
プッシュ通知を更新する場合には、保存と同じように行います。
var push = new NCMBPush();
push.Set("immediateDeliveryFlag", true);
var target = new string[] { "ios" };
push.Set("target", target);
await push.Save();
var title = "test";
push.Set("title", title);
await push.Save();
プッシュ通知の検索
ファイル検索はNCMBQueryを使います。
var query = NCMBPush.Query();
query.EqualTo("title", title);
var ary = await query.FetchAll();
1件だけの場合はobjectIdを指定します。リロードに似た操作です。
var push = new NCMBPush();
var title = "Test Hello";
push.Set("title", title);
push.Set("immediateDeliveryFlag", true);
var target = new string[] { "ios" };
push.Set("target", target);
await push.Save();
var p = new NCMBPush();
p.ObjectId(push.ObjectId()); // objectIdを適用
await p.Fetch(); // Fetchで更新
プッシュ通知の削除
削除は Delete
メソッドです。
await push.Delete();
まとめ
C# SDKはXamarinで使えばiOSやAndroidはもちろん、Linux/macOS/Windowsアプリも開発できます。.NET環境であればWebやCLI開発でも利用できます。ぜひ皆さんのアプリ、Webアプリ開発に利用してください。