West Hill 開発メモ

Felloというサービスを使ってUnityで作ったiOS、Androidアプリへプッシュ通知を送ってみました。
Fello: 無料のプッシュ通知・メッセンジャー
https://fello.net/

iOSやAndroidではユーザがアプリを起動していなくても、
リアルタイムでメッセージを投げれる所謂プッシュ通知の仕組みがあります。

通常はサーバーからアプリへ通知を投げる必要があるので費用がかかってくるのですが、
Felloでは無料でWEB上からプッシュ通知を投げれる上に、
Unity用のプラグインも提供されているという事なので試してみました。

手順としては、以下になります。

・ユーザー登録
・アプリ情報・iOS用証明書登録(公開前はサンドボックス環境のものでOK)
・SDKダウンロード→アプリへ組み込み
・通知端末登録のためアプリを1度起動する
・FelloのWEBページ上で通知を設定

非常にわかりやすいドキュメントも用意されているので、
組み込みで苦労することはありませんでした。
プッシュ通知機能SDK組み込み手順書(Unity)
https://fello.net/help/notification_integration_for_unity

※「Plugin/Android」配下のAndroidManifest.xmlstring.xmlを使用している場合には手動でマージする必要があります。

WEB上での設定は配信日時と内容を設定するだけで、複数件登録することもできます。
iOSアプリとAndroidアプリをまとめて1アプリとして扱えるのでシンプルに管理できます。
ss_push_notification_settings2
今現在は通知を送るユーザーを限定したりは出来ないみたいです。

送ってみたらAndroidの方にはすぐに届きましたが、
iOSでは改行を入れると通知が届かなかったりバッジを付けたら消えなくなったりしたので、
起動時に自前でバッジクリアの処理を入れるなりして色々試してみたほうが良いかもしれません。
Screenshot_2013-10-02-12-50-00 ss_push_notifications_iOS_1
本当に無料で使えてしまったのでビジネスモデルが気になるところですが、
FAQを見ても「現在提供している機能については今後も有料化の予定なし」との事なので、気軽に使えて良いと思います。
よくある質問 - 無料ということですが、突然有料になるということはない?
https://fello.net/help/faq#ios_service_pricing

このエントリーをはてなブックマークに追加 Clip to Evernote

iOS7がリリースされて大きく変わった事もあり、
OSのバージョンを判別して挙動を分けたい場合があると思います。

Unityで作ったiOSアプリでOSのバージョンを取得するにはSystemInfo.operatingSystemを使用します。

public static float GetiOSVersion()
{
#if UNITY_IPHONE && !UNITY_EDITOR
	string versionString = SystemInfo.operatingSystem.Replace( "iPhone OS ", "" );
	
	float version = -1f;
	
	float.TryParse( versionString.Substring(0, 1), out version );
	
	return version;
#else
	return -1f;
#endif
}

iOS上でSystemInfo.operatingSystemを呼ぶと「iPhone OS 6.1.1 」の様な形式で取得できるので、5, 6, 7等のメジャーバージョンだけ返すように整形しています。

このエントリーをはてなブックマークに追加 Clip to Evernote

NGUIを使用してスクロールリストの実装をする際にはDraggablePanelを使うことが多いと思いますが、設定によっては一部のAndroid端末で表示がおかしくなることがあります。

ドラゴンツイートではタイムラインの表示にDraggablePanelを使用していたので、
一部端末で以下のような表示になってしまいました。
※現象を確認できた端末はXperia acro HD(IS12S)、Xperia NX(SO-02D)等。

環境はUnity4.2.0、NGUIのバージョンは2.6.4です。
ngui_list_01 
DraggablePanel以下のAtlasテクスチャが真っ黒になってしまっています。 

原因はPanelのClippingの設定が「Alpha Clip」になっていたからでした。
ngui_list_03
赤枠のところの設定を「Soft Clip」にすることで、解消します。
Soft Clipだとスクロールの端の方がぼやけるのですが、Softnessのパラメタを1にすれば気にならなくなります。 
ngui_list_02 
無事表示されました。 

ちなみに「Hard Clip」は古いGPUドライバの端末でサポートされていないので推奨されていません。
http://d.hatena.ne.jp/shinriyo/20130501/p2

開発中の動作確認に使用していたGalaxyNexusでは「Alpha Clip」でも問題なかったので
レビューで指摘されるまで気づかなかったのですが、やはり色々な端末で検証する事は大事ですね。

このエントリーをはてなブックマークに追加 Clip to Evernote

このページのトップヘ