Help us understand the problem. What is going on with this article?

Growthbeat を Titanium で使う!

More than 3 years have passed since last update.

みなさんこんにちは、@isseium です。この記事は Titanium Advent Calendar 2016 の11日目の記事です。

最近 Swift をはじめたんですが、高速だったり細かいこと出来るのはいんですが、コード量も多かったり、Alloy のようなWebライクな MVC がなかったり、意外と Titanium も捨てたもんじゃないな やっぱTitaniumだよな!と思っているところです。

今年は @shinout さんの、faster-titanium にはお世話になりました。コード保存したらビルドレスで確認できるの最高ですね。ただ、リアクトなんとかに浮気してらっしゃるようなのが少し心配です。

さて、今年のTitanium開発でなにかオリジナリティ溢れることしたかなーと探しまして、「github に push したら bitrise で Titanium ビルドして、DeployGate で配布する」という一連のインテグレーション環境を整備した話をしたいと思います!

と思っていたのですが、アドベントカレンダーを確認したところ13日目に似たような話がありそう!!!先に宣言していらっしゃった @imoans さんのネタをとるわけにはいかないということで違うネタでいきます!

Growthbeat を Titanium で使う!

みなさんは Titanium アプリの Push 配信はなにを使っていますか?
Arrow の Notification でしょうか?Titanium と親和性が高くて使い勝手いいですよね〜。Firebase も Push に限らずいいですねぇ。 PubNub なんかは公式 Titanium サポートあっていいですよね。

ただいろいろ考えたすえに、Growthbeat (旧GrowthPush) を使うことにしました。(日本の企業がんばれ!)

が、当然のごとく Growthbeat には公式 Titanium モジュールなど用意されているわけがなく、今回モジュールをつくりましたので紹介します。

インストール

ここでソースコードを管理しています。

https://github.com/MontoWorks/TiGrowthbeat

net.ikmz.tigrowthbeat-iphone-1.0.1.zip が最新のモジュールなのでこれを他のモジュールを使うのと同様の手順で zip をプロジェクトホームにおいて、tiapp.xml にモジュールを追記してインストールしてください。

コード例

alloy.js あたりに書きましょう。

Alloy.Globals.Growthbeat = require('net.ikmz.tigrowthbeat');
Alloy.Globals.Growthbeat.init({
    applicationId: "<applicationId>",
    credentialId: "<credentialId>"
});

これで使う準備はできました!

あとは適切な場所でトークンを登録すると Growthbeat から Push を受けることができます。

Ti.Network.registerForPushNotifications({
  success: function(e){
    Alloy.Globals.Growthbeat.setDeviceToken({deviceToken: e.deviceToken});
  },
});

おわりに

このモジュールは、1年以上前からプライベートで使っていて、準備が整ったらオープンソース化しようと思っていましたが、どうもこのペースだといつまでたっても公開することなさそうなので、このアドベントカレンダーを機に公開することにしました。

本家 Growthbeat SDK をラップしただけですが、最低限のメソッドしかラップしてません。
使い勝手がわるい部分やバグがあると思いますので、 Issue & PR のほどお願いします。日本語でおkです。

cheekit
〜 Make Local Happiness 〜 クラウドソーシング受託を通じて地域のワクワクを増やすベンチャー
http://cheekit.com
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした