LoginSignup
0
0

NCMBのC#(MAUI/Xamarin) SDKがプッシュ通知の操作に対応しました

Posted at

ニフクラ 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で開きます。

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197026/9c51cd20-c9f4-a00b-804a-ed7db410ccd0.png

そしてプロジェクトを右クリックして、NuGetパッケージの管理を選択します。

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197026/61392119-a472-9d33-101d-970f016fc2cf.png

出てきたウィンドウで、NCMBClientを検索します。執筆時点での最新版は1.0.0です。これを追加します。

https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/197026/f06df07c-f55d-1e0e-65b2-de79c779cc80.png

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アプリ開発に利用してください。

NuGet Gallery | NCMBClient 1.2.0

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0