ナンバーズサーチ Ver.1.0.6をリリースしました。
Playストアよりダウンロードできます。
※Amazonアプリストアの対応はテスト中のため、後日行う予定です。
変更点は下記のとおりです。
Continue reading
ナンバーズサーチ Ver.1.0.6をリリースしました。
Playストアよりダウンロードできます。
※Amazonアプリストアの対応はテスト中のため、後日行う予定です。
変更点は下記のとおりです。
Continue reading
FX収支管理 Ver.1.1.7をリリースしました。
Playストアよりダウンロードできます。
変更点は下記のとおりです。
Continue reading
ギャンブル収支管理 Ver.1.3.1をリリースしました。
Playストアよりダウンロードできます。
変更点は下記のとおりです。
Continue reading
シンプル体重管理 Ver.1.2.1をリリースしました。
Playストアよりダウンロードできます。
変更点は下記のとおりです。
Continue reading
シンプル体重管理 Ver.1.2.0をリリースしました。
Playストアよりダウンロードできます。
変更点は下記のとおりです。
Continue reading
MonacaがCordova 6.2に正式に対応し、シンプル体重管理の最新版をCordova 6.2でリリースする予定だったが、思わぬところで問題が発生した。
アプリをリリースする場合、Android 4.0.4・4.4.4・5.1.1上で必ず動作チェックを行っているが、Android 4.0.4だけGoogle Driveのバックアップ・リカバリー機能が動作しない。
処理を一つ一つ検証したところ、オーソライズを行うためにwindow.open(authUrl, “_blank”, features)を実行している箇所が動作しない。
Cordova 6.2対応でアップデートしたInAppBrowserプラグイン v1.4.0の問題と思い、「InAppBrowser Android 4.0.4」で検索したところ、やはり思ったとおりだった。
InAppBrowser doesn’t open on Android 4.0.4 (regression)
最近リリースされたv1.5.0でfixされたようだが、問題はMonaca側がこの件に対応するかどうか。
この件についてMonacaのお問い合わせから送信したが、不具合等の報告、技術的な質問はStackOverflowに誘導しているため、相手にされない可能性もある。
現状では月額5,000円のゴールドプランに入り、技術サポートチケットを使って対応してもらうか、独自でv1.5.0のブラグインを組み込むしか方法はなさそうだ。
※9/20追記
技術的な問題のため、Monaca側の回答を引用させていただく。
貴重な情報、ありがとうございます。
弊社でも検証させていただき、対応を検討させていただきます。
InAppBrowserプラグイン1.5.0をMonacaでご利用になる場合は、
InAppBrowserプラグインの設定にある「プライグインのバージョン」で「1.5.0」を選択し、
ご利用ください。
現状では月額5,000円のゴールドプランに入り、プラグインのバージョンを変更するしか方法はないようだ。
万が一、ほかのプラグインも不具合が発生した場合に対応できないとなれば、安定して動作しているCordova 5.2でリリースするしかない。
先月に引き続き、8月1日~31日までのインプレッション数、クリック数、報酬額を比較してみた。
まずはi-mobile。
相変わらずクリック数は高いが、それに見合った報酬額ではないような気がする。
理由はおそらく単価にバラツキがありすぎるため。
平均クリック数6.0、平均単価4.2円と先月より+0.6円上がった。
次にAd Generation。
i-mobileよりインプレッション数が少ない理由は、カスタムタグとしてアフィリエイト広告を挿入しているため。
平均クリック数3.9、平均単価9円と先月より+1.3円上がったが、クリック数、報酬額がゼロの日が3日もある。
在庫切れにより同じ広告ばかり表示される傾向があるようだ。
最後にnend。
バナー広告からネイティブアド広告に切り替えて大正解だった。
平均クリック数5.6、平均単価8.8円と+1.3円上がった。
以前はnendの広告だけで3,000円を超える収益があったが、低単価問題で1/3以下まで激減。
試行錯誤した結果、やっと3社トータルで3,000円を超える収益となった。
7~8月とアプリのインストール数が激増した影響がここで出始めたようだ。
Ad Generationのカスタムタグの機能を使ってアフィリエイト広告を表示させてみたが、こちらは何度かクリックされるも商品購入まで至らず、結果が出ていない。
昨夏、立て続けにAndroid版「FX収支管理」「ギャンブル収支管理」「シンプル体重管理」をリリースし、1年が経過した。
各アプリのインストール数は下記のとおりである。
monacaを利用したアプリとしては、インストール数は多い方か・・・
ただし、思った以上に少なすぎたというのが正直な感想だ。
FX収支管理
2015/08/04 – 2016/08/20
ホームページの検索キーワードで「FX 収支」は一番だが、インストール数はそれほど伸びていない。
おそらくiOS版のアプリを探してたどり着いたのではないだろうか。
機能としては、FX業者のCSVデータの取り込みに対応していない点が痛い。
これには理由があって、アプリのデータベース容量が小さいので、スキャルピングや複数業者利用など取引回数が多くなると、データが収まらなくなる恐れがあるため。
FX収支管理の理想的な形は、PCのソフトウェアまたはWebサイトから取引履歴を登録し、スマートフォンのアプリで参照する・・・ではないだろうか。
ギャンブル収支管理
2015/08/17 – 2016/08/20
FX収支管理をチョロチョロっと改造して作ったのがギャンブル収支管理。
アプリ紹介サイトに掲載されてインストール数が増え始め、1年かかって2000インストール達成。
パチンコやスロットをやっている人から見ると、貯玉などの機能がないため、物足りないアプリかもしれない。
シンプル体重管理
2015/09/11 – 2016/08/20
「Google AdWordsでユーザー数は増えるか?」で記載のとおり、広告でインストール数を増やそうとしたが、評価★1★2を食らって数ヵ月も低迷を続ける。
しかし、6月あたりから突然インストール数が増え始め、ついに4倍増になってしまった。
原因はこれ。
「体重管理」で検索すると、企業相手に個人で開発したアプリが4番目に食い込むのだから、4倍増も当然か?
しかし、上位アプリが50万や100万以上のインストール数に対して、シンプル体重管理は1771しかない。
現在、シンプル体重管理 Ver.2を開発中なので、インストール数1万を目指そうかと思う。
Monacaでnend広告を一定の間隔で更新させることができるか挑戦してみた。
※注意事項
1.Monacaデバッガー上での動作確認であり、リリース版での動作については未確認。
2.広告更新後のバナーをタップした場合、収益が計上されるかについては未確認。
3.広告更新ごとに通信が発生するため、更新のタイミングやアプリの使用時間によってユーザーにパケット代の負担をかけることになる。
4.index.html上で動作させる必要がある。(8/14追記)
広告タグのスクリプト(nendAdLoader.js)が実行されると、複数の広告用タグが埋め込まれる。
スクリプトを動的に実行すれば広告を更新させることができるが、埋め込まれたタグを削除しないと更新ごとにタグが追加されてしまう。
広告表示テスト用広告コードを実行する。
1 2 3 4 5 6 |
<div id="nend_ad"> <script type="text/javascript"> var nend_params = {"media":82,"site":58536,"spot":127513,"type":1,"oriented":1}; </script> <script type="text/javascript" src="https://js1.nend.net/js/nendAdLoader.js"></script> </div> |
すると、2行目(3行目の内容は省略)、10行目、11行目のタグが埋め込まれる。
1 2 3 4 5 6 7 8 9 10 11 |
<div id="nend_ad"> <div id="nend_adspace_58536_127513" style="margin-left:auto;margin-right:auto;text-align:center;line-height:0;"> <!-- 省略 --> </div> <script type="text/javascript"> var nend_params = {"media":82,"site":58536,"spot":127513,"type":1,"oriented":1}; </script> <script type="text/javascript" src="https://js1.nend.net/js/nendAdLoader.js"></script> </div> <script src="https://ad2.nend.net/feed.php?media=82&site=58536&spot=127513&type=1&oriented=1" type="text/javascript" id="nend_feed_58536_127513"></script> <img src="https://cs.nex8.net/precs/nend" border="0" style="display:none; width:1px; height:1px;"> |
広告を更新させるには、2行目(div)、10行目(script)に埋め込まれたタグ、動的にスクリプトを実行するために8行目(script)のタグを削除する必要がある。
※11行目は、一度削除してしまうと二度と埋め込まれなくなるので削除しない。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
addEventListener("load", function() { var timer = setInterval(refreshAd, 60000); }, false); function refreshAd() { var i = 0; var ad = document.getElementById("nend_ad"); // div nend_adspaceを削除 var na = ad.querySelector("div[id^=nend_adspace]"); ad.removeChild(na); // script nendAdLoader.jsを削除 var al = ad.querySelectorAll("script"); if (al.length > 0) { for (i = 0; i < al.length; i++) { if (al[i].src.indexOf("nendAdLoader.js") != -1) { ad.removeChild(al[i]); } } } var bd = document.body; // script nend_feedを削除 var nf = bd.querySelector("script[id^=nend_feed]"); bd.removeChild(nf); // img nendを削除 //var nd = bd.querySelectorAll("img"); //if (nd.length > 0) { // for (i = 0; i < nd.length; i++) { // if (nd[i].src.indexOf("nend") != -1) { // bd.removeChild(nd[i]); // } // } //} // 動的にscriptを実行する var sc = document.createElement("script"); sc.type = "text/javascript"; sc.src = "https://js1.nend.net/js/nendAdLoader.js"; ad.appendChild(sc); console.log("refresh ad"); } |
実際の広告コードに切り替えて実行すると、1分おきに広告の更新を確認することができた。
↓
↓
↓
↓
※8/17追記
nendCommon.init()を実行すると、広告が更新(初期化)されることがわかった。
参考サイト – Monacaでnend広告のリフレッシュ方法について
ただし、10行目(script)に埋め込まれたタグは更新ごとに追加されるので削除する必要がある。
また、nendCommon.init()は一般には未公開のため、使用には要注意。
1 2 3 4 5 6 7 8 9 10 11 12 |
addEventListener("load", function() { var timer = setInterval(refreshAd, 60000); }, false); function refreshAd() { var bd = document.body; // script nend_feedを削除 var nf = bd.querySelector("script[id^=nend_feed]"); bd.removeChild(nf); // 広告を更新させる nendCommon.init(); console.log("refresh ad"); } |
JavaScript + Onsen UI V2版はこちら。
※Onsen UI + AngularJSを使用。
ons-navigatorのpushPage()、popPage()を利用すれば、次画面に進み、前画面に戻ることが実現できる。
しかし、次画面で選択したデータを前画面に渡す方法は記載がない。
$rootScope.$broadcast()を利用して親コントローラ(page1Controller)にデータを渡し、$scope.$on()で受け取ればよい。
Page1で「ここをタップ」をタップし、Page2で「1000」をタップすると、Page1に戻り「1000」と表示される。
Continue reading