0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Go言語向けNCMB SDKの使い方(プッシュ通知のCRUD操作)

Posted at

NCMBはモバイル向けのBaaS(mobile Backend as a Service)ですが、サーバー側のデータとNCMB上のデータを連係させたいというニーズは良くあります。

そんなときには各言語向けのSDKがあると便利です。サーバー向けにはRuby、Python、PHP、Java、C#のSDKがあります(すべて公式サポート対象外の、コミュニティSDKという位置づけです)。

新しくGo言語向けのSDK開発をはじめたので、その使い方を紹介します。今回はプッシュ通知のCRUD操作について解説します。

ソースコード

ソースコードはGitHubにて公開しています。ライセンスはMIT Licenseになります。

NCMBMania/ncmb_go

インストール

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を利用してみてください。

mBaaSでサーバー開発不要! | ニフクラ mobile backend

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

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?