NCMBはモバイル向けのBaaS(mobile Backend as a Service)ですが、サーバー側のデータとNCMB上のデータを連係させたいというニーズは良くあります。
そんなときには各言語向けのSDKがあると便利です。サーバー向けにはRuby、Python、PHP、Java、C#のSDKがあります(すべて公式サポート対象外の、コミュニティSDKという位置づけです)。
新しくGo言語向けのSDK開発をはじめたので、その使い方を紹介します。今回はInstallation(デバイストークン)の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")
Installationの新規作成
Installation
メソッドで新規データのインスタンスを作ります。 deviceToken
と deviceType
は必須です。
installation := ncmb.Installation()
installation.Set("deviceToken", "testDeviceToken")
installation.Set("deviceType", "ios")
if bol, err := installation.Save(); err != nil {
t.Errorf("Error: %s, %T", err, bol)
}
Installationの更新
Installationの更新は新規作成と同じく Save
メソッドで行います。
installation := ncmb.Installation()
installation.Set("deviceToken", "testDeviceToken")
installation.Set("deviceType", "ios")
if bol, err := installation.Save(); err != nil {
t.Errorf("Error: %s, %T", err, bol)
}
newToken := "testDeviceToken2"
installation.Set("deviceToken", newToken)
if bol, err := installation.Save(); err != nil {
t.Errorf("Error: %s, %T", err, bol)
}
Installationの削除
Installationの削除は Delete
メソッドで行います。
installation.Delete()
Installationの検索
Installationを検索する際には Query
メソッドを使います。引数は installations
としてください。
query := ncmb.Query("installations")
query.EqualTo("deviceType", "ios")
items, err := query.FetchAll()
if err != nil {
t.Errorf("Error: %s", err)
}
まとめ
まだ基本的な機能しかありませんが、徐々にバージョンアップしていきます。
Go言語を使ってWebアプリケーションを開発している方は、そのデータ保存先としてNCMBを利用してみてください。