LoginSignup
5
4

More than 5 years have passed since last update.

Milkcocoa SDK for UWP and .NET Framework

Last updated at Posted at 2016-07-24

UWPアプリから利用できる、Milkcocoa SDKの使い方を解説します。

経緯

名古屋版IoT縛りの勉強会! IoTLT vol1でMilkcocoaを知りました。
上記で知り合った、ウフル川野氏に聞いたところ、Win10 IoT Core向けのSDKは無いということだったので、作ることに。
20160724A.png

動作確認

  • UWP / Windows 10 Professional / Surface Pro 2
  • UWP / Windows 10 Mobile / MADOSMA
  • UWP / Windows 10 IoT Core / Raspberry Pi 2/3
  • WPF / Windows 10 Professional / Surface Pro 2
  • Console / Windows 10 Professional / Surface Pro 2

まだIoTCoreで動作確認していなかった、、、。
動きました。(^O^)/

ニーズがあれば、、、WPFやWinFormといった.NET Frameworkにも対応したいと思っています。
.NET Frameworkに対応しました。

SDKのインストール方法

(nugetにアップロードしてありますので)Visual Studioのnugetパッケージマネージャーコンソールで、
Install-Package Milkcocoa
を実行してください。

本SDKのパッケージページはこちらです。

プログラミング(送信編)

Milkcocoaサイトのdashboardで”アプリ”を作ってください。
UWPアプリからは、app_id(赤枠部分)を使って”アプリ”に接続しますので、メモしておきましょう。

20160724B.PNG

UWPアプリでは、Milkcocoaクラスをインスタンス化するときに、app_idを指定します。".mlkcca.com"を忘れないように。

private Milkcocoa.Milkcocoa Milkcocoa;
Milkcocoa = new Milkcocoa.Milkcocoa("iceinixlzq3.mlkcca.com");

dataStoreメソッドにデータストアのパスを指定してDataStoreインスタンスを取得し、pushメソッドで送信します。
パスは"/"区切りで階層指定できます。
pushメソッドの引数はdynamic型で、自動的にJSON形式に変換してデータストアに送ります。

Milkcocoa.dataStore("message").push(new { content = "My first data!" });

dashboardで確認すると、データストアにJSON形式で格納されたことがわかります。

20160724C.PNG

プログラミング(受信編)

書いている途中。

void MilkcocoaCallback(Milkcocoa.MilkcocoaDataStoreEventArgs e)
{
    System.Diagnostics.Debug.WriteLine(string.Format("{0:HH:mm:ss.fff} Sub  {1}", DateTime.Now, e.path));
}
Milkcocoa.dataStore("message").on("push", MilkcocoaCallback);

サンプルプログラム

githubにサンプルプログラムを公開しています。

20160724D.PNG

対応しているMilkcocoa API

2016/8/27時点のMilkcocoa APIリファレンスに対する対応一覧です。

クラス メソッド 対応 補足
Milkcocoa new Milkcocoa() secureで暗号化を指定。
connectWithApiKey() ×
dataStore()
authWithToken() ×
logout() ×
user() ×
MakeHostString() v1.0追加機能。(@Fumiya_Kumeさんthx)
DataStore push()
set() ×
remove() ×
send()
on()
off()
get() ×
stream() ×
history()
child() ×
Stream 対応していません。m(__)m
History sort()
size() ×
limit()
span() ×
on() ×
run()

改定履歴

v1.3

  • Milkcocoaサーバーとの接続を暗号化通信に変更しました。コンストラクタのsecureで暗号化無しも可能。

v1.2

  • .NET Frameworkに対応しました。v4.5以降で使用できます。

v1.1

  • Releaseビルドのとき、イベントを受信するとMissingMetadataExceptionに対処しました。#1
5
4
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
5
4