NCMBはモバイル向けのBaaS(mobile Backend as a Service)ですが、サーバー側のデータとNCMB上のデータを連係させたいというニーズは良くあります。
そんなときには各言語向けのSDKがあると便利です。サーバー向けにはRuby、Python、PHP、Java、C#のSDKがあります(すべて公式サポート対象外の、コミュニティSDKという位置づけです)。
新しくGo言語向けのSDK開発をはじめたので、その使い方を紹介します。今回はプッシュ通知のCRUD操作について解説します。
ソースコード
ソースコードはGitHubにて公開しています。ライセンスはMIT Licenseになります。
インストール
SDKのインストールは下記コマンドで行います。
go get -u github.com/NCMBMania/ncmb_go
インポート
続けてSDKをインポートします。
import (
"github.com/NCMBMania/ncmb_go"
)
初期化
NCMBより取得したアプリケーションキー、クライアントキーを使って初期化します。
ncmb := NCMB.Initialize("YOUR_APPLICATION_KEY", "YOUR_CLIENT_KEY")
プッシュ通知の新規作成
Push
メソッドで新規データのインスタンスを作ります。
push := ncmb.Push()
データの適用
push
に対して、データをセットします。
push.Set("message", "Hello, NCMB!")
push.Set("target", []string{"ios", "android"})
// 即時配信の場合
push.Set("immediateDeliveryFlag", true)
// 時間指定の場合
t1 := time.Now()
push.Set("deliveryTime", t1.Add(time.Hour*10))
即時配信フラグ、または時間指定は必須です。また、 target
は指定必須です。
プッシュ通知の保存
保存は Save
メソッドで行います。保存がうまくいっていれば、 bol = true
になります。
bol, err := push.Save()
プッシュ通知の更新
プッシュ通知の更新も Save
メソッドで行います。
push.Set("message", "Hello, NCMB! Update!")
bol, err := push.Save()
プッシュ通知の削除
プッシュ通知の削除は Delete
メソッドで行います。
bol, err := push.Delete()
プッシュ通知の検索
検索は Query
メソッドを使います。引数は push
です。
query := ncmb.Query("push")
query.Limit = 5
query.EqualTo("message", "Hello, NCMB!")
ary, err := query.FetchAll()
if err != nil {
t.Error(err)
}
まとめ
まだ基本的な機能しかありませんが、徐々にバージョンアップしていきます。
Go言語を使ってWebアプリケーションを開発している方は、そのデータ保存先としてNCMBを利用してみてください。