2015年9月12日土曜日

Stridalyzerアプリが落ちるときの対処方法

【追記】
9月14日現在、既に対応されたことが確認できました。
メーカーに当該バグを報告したところすぐに対応してもらえました。


以下、オリジナル
--
日本語の使用レポートがないので日本人ユーザーがほとんどいないと思われる、スマートインソールのStridalyzer。

ブログの主旨とは関係ないけど、日本語環境だとアプリが落ちるのでその対処方法を書いておきます。
ちなみにAndroid版の話です。
iOS版は知りません。悪しからず。
あと、Stridalyzerのメーカーにはバグ報告しているので、じきに対応してくれるはず。

では、対処方法。

設定→言語と入力→言語と進んで、「English(United States)」を選択。
Englishならどれでも良いと思う。

ぜーんぶ英語表記になってしまうけどStridalyzerアプリを使う時だけのガマンです。

ほな。

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

2014年7月22日火曜日

UnityでEclipse用にエクスポートしたプロジェクトのアップデート方法

UnityでコーディングしてEclipseでAPK作成の方法は前回書いたとおりだが、今回は、修正点をフィックスしたり機能追加したりでアップデートするときにはどうしたらいいのか、というお話。

また一からインポートしたりするとせっかく修正したAndroidManifest.xmlが元に戻るので手で修正しないといけない。
でも毎回修正した点を漏れなく修正するのってめんどくさいし、漏れそう。

というわけで、どうするかというと、エクスポートしてできたフォルダのassets/binの直下にあるDataという名前のフォルダを入れ替えればOK。

念のため古いDataフォルダはどこかに退避させてassets/binの下には何もない状態にしておいて、新しいDataフォルダをコピーするのが一番安全。
このエントリーをはてなブックマークに追加

2014年7月20日日曜日

UnityでコーディングしてからEclipseでAPK作成する際にやったこと

Unityで作ったものをAndroid用にエクスポート(方法はググってください)できますが、
そのエクスポートされたものをそのままEclipseにインポートしても、
そのままだとエラーが出て動かなかったので、その対処方法を紹介します。

ビルドはできますが実機やエミュレーターで動かそうとしたら、
下のようなExceptionが吐かれます。
java.lang.RuntimeException: Unable to start activity ComponentInfo{*.*.*/com.unity3d.player.UnityPlayerProxyActivity}: android.content.ActivityNotFoundException: Unable to find explicit activity class {*.*.*/com.unity3d.player.UnityPlayerNativeActivity}; have you declared this activity in your AndroidManifest.xml?
(注)「*.*.*」はアプリのパッケージ名です。
要するに、Activityが見つからないけどAndroidManifest.xmlに書いとるんけ、というエラーです。

そんなとき、AndroidManifest.xmlの
<activity android:label="@string/app_name" android:screenOrientation="portrait" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale" android:name="*.*.*.UnityPlayerNativeActivity">
(注)「*.*.*」はアプリのパッケージ名です。
の赤文字の部分を
<activity android:label="@string/app_name" android:screenOrientation="portrait" android:launchMode="singleTask" android:configChanges="mcc|mnc|locale|touchscreen|keyboard|keyboardHidden|navigation|orientation|screenLayout|uiMode|screenSize|smallestScreenSize|fontScale" android:name="com.unity3d.player.UnityPlayerNativeActivity">
に変えたらOKです。

となると、指定のパッケージの直下にUnityPlayerNativeクラスができているけど、
これは意味ないってことですな。

ホンマかいな。

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

2014年6月22日日曜日

PhoneGap+enchant.jsで作ったゲームをUnityで作ってみた



前にPhoneGap+enchant.jsで作ったゲームをUnityで作り直してみた。

Androidアプリにするためにスマホの画面サイズで作ったのでサイズが全然おかしいけど、とりあえずPC用にビルドした。
http://edgejumper.kyosuke25.com/unity/

けどちゃんと動くね。

しかし、JavaScriptとは名ばかりの未知の言語やで。

細かいTipsはまた備忘録的に追々残そう。
このエントリーをはてなブックマークに追加

2014年3月23日日曜日

本を出しました!

昨年から制作に関わっていた本がようやく出版されました。
「実践クラウドソーシング」という本です。



昨今急速に知名度が上がっているクラウドソーシングについて、実践的な内容を書きました。

「ねちゃったー」のiOS版を作る際にクラウドソーシングを使った話も書きましたし、実体験に基づいて発注者(仕事をお願いする方)から見た、どういった人に発注したくなるのか、逆に言うとワーカー(仕事を請ける方)にとってはどう振る舞えば受注しやすくなるのかといったことも書きました。

興味あればぜひ。

紙版 Kindle版


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

「ねちゃったー」がApplivに掲載されました

「ギリジャン!」を知って「ねちゃったー」を知ったのか、逆なのか。
それは分かりませんが、「ねちゃったー」もApplivに掲載していただけました。

掲載サイト:Androidアプリ発見サイト -Appliv
レビュー記事:ねちゃったー

ねちゃったーが取り上げられたのは久々です。
やはりうれしいものですね。
このエントリーをはてなブックマークに追加

「ギリジャン!」がApplivに掲載されました

「ギリジャン!」がレビューしていただけました!
取り上げていただいたのは「Appliv」というサイトです。

掲載サイト:Androidアプリ発見サイト -Appliv
レビュー記事:ギリジャン!

リリース当初は海外の方がユーザーが多かったので、海外のレビューサイトには取り上げていただいたことはありましたが、日本ではおそらく初めてです。
[訂正]
間違ってました。
日本ではアンドロイダーさんでの紹介が初めてです。

ユーザーが増えるといいな~。
このエントリーをはてなブックマークに追加

2013年8月18日日曜日

AndroidアプリにParse.comのプッシュ通知機能を実装する方法+送信する方法

「グロースハック(growth hack)」とかいう流行りつつある単語に乗せられて、プッシュ通知(Push Notification)を使ってみようと思い立ち、この間Facebookに買収されたBaaS(Backend as a Service)のParse.comが提供するプッシュ通知機能を、自作クソゲー「ギリジャン!」に乗せてみたのでそのメモ。
というか、https://parse.com/tutorials/android-push-notificationsの必要部分を抜粋しての和訳。

なお、既にParse.comにアプリの登録をしてることを前提としています。

【実装編】

■AndroidManifest.xml

1.サービス
<service android:name="com.parse.PushService" />
<receiver android:name="com.parse.ParseBroadcastReceiver">
  <intent-filter>
    <action android:name="android.intent.action.BOOT_COMPLETED" />
    <action android:name="android.intent.action.USER_PRESENT" />
  </intent-filter>
</receiver>

2.パーミッション
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.VIBRATE" />

■Activityクラス

1.初期化
onCreateメソッドに
Parse.initialize(this, "アプリID", "クライアントキー");
アプリIDもクライアントキーもParse.comの画面(下の画像)に表示されているものを使う。



2.通知を受信する部分の実装
onCreateメソッドに
PushService.setDefaultPushCallback(this, ほにゃららActivity.class);
ParseInstallation.getCurrentInstallation().saveInBackground();
「ほにゃららActivity.class」には、端末上に表示された通知をクリックしたときに表示させたいActivityクラスを書く。
インストール時に、アプリ名(言語によってアプリ名が違う場合はその言語に応じたアプリ名)とかアプリのバージョンとかタイムゾーンがParse.comに送信されるけど、それ以外にも情報がほしければ実装可能。
今回は試しに実装しただけなので省略。

3.トラッキングの実装
onCreateメソッドに
ParseAnalytics.trackAppOpened(getIntent());
通知からアプリが開かれたかどうかをトラッキングしたければ書く。
(普通はトラッキングしたいはず。)

【送信編】

あとはParse.comの管理画面から通知をするだけ。

まず、通知するページにアクセスして、Send a pushボタンをクリック


次に、通知する内容を登録して、Send Notificationボタンをクリック。


実装も送信もめっちゃ簡単。

ただし、何に使うねんと言われてもよく分かりまへん。
このエントリーをはてなブックマークに追加

2013年7月7日日曜日

enchant.jsでゲーム作ってPhoneGapでスマホアプリ化したった

HTML5+JavaScriptでゲームが作れるフレームワークであるenchant.js(http://enchantjs.com/ja/)で簡単なゲームを作って、それをPhoneGapでラップしてアプリ化してみた。

穴に落ちないようにギリギリでジャンプし続けるだけの超単純なゲームです。
ギリギリでジャンプすることだけが目的なので、ジャンプした後は勝手に飛距離を調整して着地させてます。
キャラがクマなのはenchant.jsに付属してたものをそのまま使ってるだけで、お金か絵心があればオリジナルキャラでやりたかったけどやむなし。



実装上困った点はまた後日まとめるとして、Android4.x系のバグでenchant.jsの最新バージョンが使えなかったこととPhoneGapとの絡みでコールバック地獄が大変。

あと、使いたかったParse.comでスコアの共有。


なんのトラブルもなく超簡単に実装できた。

iPhone版はリジェクトされたのでAndroid版しかないけど、気が向いたら遊んでみてくださいな。


Android app on Google Play
このエントリーをはてなブックマークに追加

2013年5月31日金曜日

さっそくSquareリーダー&レジアプリを使ってみた。

ちまたで噂のSquare

Squareリーダーが届いたので早速使ってみました。

まずは箱。
めっちゃあっさりしたシンプルな紙の箱。



開けた。


ちっちゃ。

出してみた。


逆サイドから。


こっちからカードを入れるみたい。

スマホに差してみた。


ジャスミンかわいい。

で、レジアプリを起動。
商品の値段として50円と入力した画面。


カードを通してみた。


100円以上じゃないといけないみたい。

というわけで100円に入れ直して再度通してみた。


AMEXはあかんみたい。
箱にもそう書いてた。

別のカードを通してみた。


署名画面が出てきた!

署名した。


で、右上の「続行」ボタンを押したら、


決済完了してもうた。
簡単過ぎワロタ

で、「メールで送信」っていうところにメアドを入れて、「送信」ボタンをポチッとな。


そしたら、メールが飛んできた!

一番上の「吉村恭輔」は、あらかじめ設定していたお店の名前です。
で、その下に住所と電話番号。
そして一番下には署名がデカデカと。


字汚すぎゲロゲロ

管理画面を見たら決済情報が見れます。


これで7営業日待てば登録した銀行口座に手数料を引いたお金が振り込まれるようです。

トップページにはこれ見よがしに「翌営業日」って書いてますが、これは三井住友銀行の口座を登録した場合のみですわ。

でも、通常の支払サイトと比べたら格段に早いよな。

操作も超簡単。これなら誰でも扱える。


個人としても使い道はありそう。

フリマとか家の前でレモネード売るときとか。
(両方やったことないけど。)


路上でやってる占い師さんとか屋台のラーメン屋さんでカード使えるとかアツいな。

クロい感じでやってきそうなのは、ショッピング枠の現金化とかね。

キャッシング代わりに使ったらあかんで。


これはユーザーの立場からも普及して欲しい!!

手数料のことはあるけど、キャッシュフローの関係でクレジット導入していないお店は是非導入して欲しい!!

お願いしま~す!

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

2013年5月14日火曜日

PhoneGapのWebIntentプラグインを2.7.0に対応させてみた。

PhoneGapのプラグインはたくさんあっていいけど、PhoneGap本体の頻繁なアップデートに追随していないものもいっぱいあってイマイチ。

ちょっとしたアップデートならいいけど、プラグインのアーキテクチャがゴロッと変わったりしてるのに放置されたりするのさすがにどうかと思うわ。

それはさておき、これまでPhoneGap2.3.0を使っていたのを現時点(2013/05/14)で最新の2.7.0にしたのを機に、今使っているプラグインをそれに対応させたので、せっかくなので公開しておきます。 

まずはWebIntentプラグイン。 その名のとおりIntentを発行するプラグインで、僕はアプリからブラウザを起動するのに使ってます。

https://github.com/kyosuke25/phonegap-plugins/tree/master/Android/WebIntent

どうぞご自由にお使いください。
このエントリーをはてなブックマークに追加

2013年3月20日水曜日

iOSアプリの2.23リジェクトに対応した話

iPhone版の「ねちゃったー」をバグフィックスしたのにリジェクトされました。
iOS Data Storage Guidelinesに従え、と。


どうやら、アプリのホームディレクトリ直下のDocumentフォルダにはユーザーが作成したデータ(メモ書きとか写真とか)以外を置いたらダメみたい。

というのも、DocumentフォルダはiCloudに保存する対象になるのでそこに無駄なファイルを置くと、iCloudの容量を圧迫してユーザーにとって好ましくないからだとか。
(でも、そこは前回から何も変えてないから、前回見逃したんやろ。ええ加減やぞw)

で、Documentフォルダをのぞいてみたら、アラームの設定を記録したDBファイル(sqliteファイル)しかない。
でも、これっていらんデータではないし、ある意味ユーザーが作成したデータやし。。。
だいたいデバイスを超えてアラーム設定を同じにしたい場合もあるやろうからiCloudに保存しても良いんじゃないか。(いや、これはないなw)

というわけで、Apple様には素直に従って修正することにしました。

を参考にしました。
とても参考になりました。ありがとうございました。

■ sqliteファイルの保存場所をDocumentフォルダからLibrary/Cachesに変更

NSSearchPathForDirectorisInDomains(NSDocumentDirectory, NSUserDamainMask, YES);
となっている場所を
NSSearchPathForDirectorisInDomains(NSCachesDirectory, NSUserDamainMask, YES);
に変えたらいいだけ。

■ アプリの起動時にDocumentフォルダにsqliteファイルがあったらLibrary/Cachesに移動

(数少ない)既存ユーザーのための対応。
NSFileManagerクラスを使って、
fileExistsAtPath
でファイルの有無を確認して、存在すれば、
moveItemAtPath
で移動するだけ。

さて、今度は無事承認されるでしょうか。
結果は1週間ちょっと後。

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

2013年3月8日金曜日

ねちゃったー for iPhone、とうとうリリースされちゃったー!

2度のrejectを経てようやくリリースされました!

https://itunes.apple.com/jp/app/id603552259

もしよかったらダウンロードしてやってください。


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

2013年3月2日土曜日

ねちゃったー、またまたreject!

「ねちゃったー」がまたAppStoreからrejectを食らいました。

今回の理由は2つ(増えとるw)

1.アイコンの鳥がTwitterの公式ロゴと紛らわしい。
2.Descriptionに「Android」っていう文字が入ってる。

1はともかくとして、2くらいは許してよ。
なので、Androidアプリ大賞の特別賞をもらったことも書けない。

というわけで、再度アイコンを変えました。




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

2013年2月26日火曜日

ねちゃったー for iPhone、リリースならず!あっさりreject。

「ねちゃったー for iPhone」ですが、ようやくレビューに入ったと思ったら即rejectでした。

rejectの理由はアイコンにTwitterロゴ(「t」の文字)が含まれているからダメ、とのことでした。
フリーフォントで作って似せたものであっても誤解を生むからNGということです。

というわけで、アイコンを変えました。




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

2013年2月22日金曜日

「ねちゃったー」の宣伝をココナラを使ってやってみた。

今度は国内への宣伝を目論んで(※)、「Fiverr」と同種の国内サービスである「ココナラ」を使ってみることにしました。
※誤解のないように書いておくと、これが正しいマーケティング手法だとは決して思っていないです。つまり、これは「正しくない」という仮説の検証です。

「Fiverr」の場合、Twitterに関する案件(gig)はフォロワーをメッチャ増やすよというのが主なものでした。
「ココナラ」の場合、同じように"Twitter"で検索すると、「教えます」系が主なもので、今回の不特定多数の人に情報をバラまく案件が少なかったです。

そこで、"フォロワー"で検索してみました。
そうすると、「フォロワーをメッチャ増やすよ」系か「俺のフォロワーにバラまくよ」系に絞られます。
こんな感じです↓


で、(正直誰でもそんなに変わらないでしょうけど、)一応フォロワー数が多い「総フォロワー数 49716人 効果は絶大!一週間で189回ツイート可能」という案件にしました。


そして、画面右上の「購入画面に進む」ボタンをクリックすると決済画面に遷移します。


決済が完了すると、その後取るべきアクションが記載されたページに遷移します。
この辺りは当然Fiverrと同じです。
そして、あとはその指示に従ってツイートして欲しい文章を送信して、作業待ち。


で、1日後からツイートが開始された模様。
9つのアカウントを使ってツイートすると書いていたので、下の9つと思われます。









これが、1日3回×1週間ツイートされるようです。
まあ500円で不特定多数の目に触れるのであればAdwordsに出すより手軽ですね。
Adwordsと比較して意味があるかどうかは要検証。

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

2013年2月21日木曜日

「ねちゃったー」のランディングページを作ってみた。

前回のエントリーでは「Fiverr」でランディングページのテンプレートを買ったときのことを書きました。

そのテンプレートを使って、「ねちゃったー」のランディングページを実際に作ってみました。

まず大変だったのが101種類もあるテンプレートの中からどれを使うのかを選ぶことでした。

それが終われば、あとはページの作成ですがこれは基本的には画像の差し替え、文言の変更で作業は完了です。

そして最終的にできあがったのがこれ。


いかがでしょう。
われながらカッコ良いものができたと思います。

http://kyosuke25.com/nechatter/ で実物をご覧いただけます。

【追記】
ついでに、日本語版も作ってみました。
http://kyosuke25.com/nechatter/ja/

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

アプリのランディングページを作るためのテンプレートを「Fiverr」を使って買ってみた。

やはり何事も実際にやってみなくては分からないので、アプリのランディングページを作ってみようと思い立ちました。

そこで、最近具体的に依頼したいことがなくてもついつい見てしまう「Fiverr」で探してみました。

最初はランディングページを作ってくれる人を探していました。
しかし、テンプレート販売のgigを見つけると、デザインの好みとか要望を伝えるめんどくささに負けてしまい、そのテンプレートを購入することにしました。

すると20分後に作業完了の通知が来ました。
どういう形で納品されるのかと思ってサイトに行くと、ダウンロードリンクが記載されたテキストファイルが添付されていました。



そのURLからダウンロードしたところ、合計で260MBほどありました。
カッコイイデザインが揃っており、数もめっちゃ多いです。
このボリュームで5ドルというのはかなりの高コストパフォーマンスだと思います。

※そのテンプレートは「くれ」とこっそり言われてもお渡しすることはないですからね。絶対しないですからね。絶対。
このエントリーをはてなブックマークに追加

2013年2月20日水曜日

「ねちゃったー」の宣伝をFiverrを使ってやってみた。(その1)

5ドルで作業を依頼できる「Fiverr」を使って、Android版「ねちゃったー」の宣伝を依頼してみました。
「Fiverr」の読み方は(多分)ファイバー。fiveが語源なので。
これも不特定多数に対する業務委託の依頼なので、クラウドソーシングの一つと言っていいと思います。

ただ、先に言っておくと、このように生きてるか分からないものすごい数のフォロワーに情報をバラまくことはソーシャルマーケティングとして効果があるとは思えないです。
ただ、試してみないことには正しいかどうか判断できないので、そのチャレンジを兼ねています。

で、もし僕の考えとは違って結果が良ければ、今後iPhone版「ねちゃったー」の宣伝で使おうと思い、その予行演習のようなものです。

使い方はとても簡単で、トップページからどういう作業を依頼したいのかを検索します。
今回は「Twitter」で検索しました。



検索結果にある1件1件の案件を「gig」と呼びます。
BOOWYを想起させ、無駄にカッコイイ。

そして気になるgigをクリックしてその詳細を見ていきます。
今回選んだこの方は、10万人のフォロワーにツイートするよ、っていう内容です。
どうやらそこそこの売れっ子で、「99 POSITIVE REVIEWS」とあります。



気に入れば画面右上の「Order Now」ボタンをクリックします。
今回はドイツの方ということでヨーロッパ進出を試したかったのと、すぐ対応していただけそうだったことからこの方に依頼しました。

「Order Now」ボタンをクリックするとPaypalの決済画面に移ります。
そこは慣れ親しんだPaypalの決済を淡々と進めるだけです。

そして決済が完了するとFiverrに戻ってきます。



戻ってきて表示される画面には、出品者からのメッセージが書いてあるので、それに対する返信をします。
今回は、「俺のフォロワーに何を共有して欲しいかというのを、キミのツイートのURLと併せて教えてくれ。」とあったので、その情報を記入しました。
「キミのツイート」っていうのは、おそらくリツイートするために必要になるのでしょう。
なので、下のようにあらかじめ英語でツイートしておきました。

そして返信が終われば発注完了。
あとはこの方が所定の作業をするのを待つだけです。

と、しばらくするとメールが来て作業が終わったぞ、と。

そして結果。
上のツイートに表示されているように53リツイートされたようです。(この記事を書いた時点の話です。)
が、短縮URLに計測できるような仕込みをしていたのですが、クリック数がたったの7!
一番大事なダウンロード数。
たった2しか増えてない。。。
マジかよorz
これは意味ないな~。


頼んだ人が悪かったのか、内容が悪かったのか。
もう何回か試してみます。

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

2013年2月19日火曜日

「クラウドソーシングサミット」で気まずかった話

随分前ですが、2012年9月19日(水)にSSIで行われた第1回クラウドソーシングサミットで、ユーザーの立場からのクラウドソーシングということでFreelancer.comを使った時のことを話しました。

資料はこんな感じ↓



オープニングアクトを飾ったわけですが、この発表中は全然良い感じで、話もウケたウケた。
ここまでは大満足。

ただその後のプレゼンターの皆さんの発表内容がガチガチの本気モードだったため、僕の発表が浮きまくってしまいました。
完全に前座。前説。
そらもう、その場に居づらいこと居づらいこと。

「面白かった」とか言われても慰めにしか聞こえない。
他のプレゼンターの方からは「しゃべりやすい雰囲気になりました。」って言っていただいたけど、それ前説www

確かに資料を見れば分かるとおり、かなりふざけた内容でした。
関係者の方々、および参加された方々、申し訳ございませんでした。

なお、他のプレゼンターは、
イノーバの宗像社長
ランサーズの秋好社長
クラウドワークスの吉田社長
MUGENUPの一岡社長
パソナテック(Job-Hub)の湯田さん

・・・これは完全に場違いでしょw

というわけで、めげずに頑張ります。

PS
その後二度とそういう場に呼ばれなくなったことは言うまでもない。

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