Amazon「春のタイムセール祭り」で購入した「Fire タブレット 8GB、ブラック
」のドット抜けの件、初期不良品ということで交換となった。
早速アプリストアで「ナンバーズサーチ
」を確認する。

FireOSはAndroid5.1ベースなので、動作は特に問題ないようだ。
ほかに考えられる問題は、広告をタップした場合に該当のアプリが存在するか?くらいか。
今後は開発やデバッグをメインに使っていこうと思う。
Amazon「春のタイムセール祭り」で購入した「Fire タブレット 8GB、ブラック
」のドット抜けの件、初期不良品ということで交換となった。
早速アプリストアで「ナンバーズサーチ
」を確認する。

FireOSはAndroid5.1ベースなので、動作は特に問題ないようだ。
ほかに考えられる問題は、広告をタップした場合に該当のアプリが存在するか?くらいか。
今後は開発やデバッグをメインに使っていこうと思う。
Amazon「春のタイムセール祭り」で「Fire タブレット 8GB、ブラック
」をプライム会員限定5,000円OFFで購入した。
Amazonアプリに「ナンバーズサーチ
」を公開しているが、一度もAmazonの端末で確認していないので丁度よい機会と思った。
電源を入れて設定している途中で、画面にホコリのようなものが・・・
よく見ると、ドット抜けだった。
解像度が1024×600なので、背景が暗いと常時点灯はさすがに気になる。
4,000円で文句を言うなと・・・

とりあえずAmazonに問い合わせてみようと思おう。
「【Monaca】アプリリリース後の問題について」で記載したInAppBrowserを使用したGoogle OAuth2認証の問題だが、海外のサイトなどいろいろと調査した結果、cordova-plugin-googleplusを導入すれば解決できることがわかった。
しかし、無料のMonaca Basicプランではプラグインが使用できず、結果的に解決できない事態となった。

Cordovaの開発環境を構築し、MonacaからCordovaへ環境を移行するしか方法がないようだ。
本日、下記メールが届いた。
Google Play デベロッパー様
お客様のアプリ ギャンブル収支管理(パッケージ名 jp.wpblog.hatopp.gambleprofitmanager)が、Google Play の個人情報や機密情報に関するユーザー データ ポリシーに違反していることが確認されました。
警告の詳細: Google Play では、ユーザーや端末に関する機密情報を要求する、または取り扱うアプリの場合、デベロッパーは有効なプライバシー ポリシーを提供する必要があります。当該のアプリは、個人情報または機密情報に関わる権限 (カメラ、マイク、アカウント、連絡先、スマートフォンなど) またはユーザー データを要求していますが、有効なプライバシー ポリシーが確認できませんでした。
必要な対応: [ストアの掲載情報] ページとアプリ内に有効なプライバシー ポリシーへのリンクを記載してください。詳しくは、こちらのヘルプセンター記事をご参照ください。
なお、機密情報に関わる権限やユーザー データに対するリクエストをアプリからすべて取り除かれた場合には、上記のご対応は必須ではございません。
また他にも公開している同様のアプリがある場合、すべてのアプリについて目立つ方法での開示の要件を満たしているかどうかご確認ください。
2017 年 3 月 15 日までにこの問題を解決いただくようお願いいたします。ご対応いただけない場合、Play ストアからの削除も含め、お客様のアプリの公開を制限する措置を取らせていただきます。恐れ入りますが、あらかじめご了承ください。Google Play のユーザー皆様にわかりやすく透明性の高いサービスを提供するため、ご協力いただけますと幸いです。
どうぞよろしくお願いいたします。
Google Play チーム
原因は、「Nifty Cloud for Push Notification Plugin」をアップデートしてアプリをリリースしたため。
プライバシーポリシーについて調査する時間がなく、また3月15日と期限が短いため、やむを得ずプッシュ通知機能を廃止して回避することにした。
これまでMonacaの開発環境を利用して、Android版「FX収支管理」「ギャンブル収支管理」「シンプル体重管理」「ナンバーズサーチ」の計4タイトルのアプリをリリースしたが、達成感に浸っている暇はない。
例えば、アプリ内のデータをバックアップする方法として、「Dropbox Datastore API」という便利なサービスを利用し、必死に仕様を調査して実装までたどり着いた。
しかし、2016年4月に「Deprecating the Sync and Datastore APIs」サービスを終了するお知らせが・・・
この機能を実装するまで、当時のMonacaのInAppBrowserプラグインの問題なども含めて1ヵ月近くの時間を要したわけだが、半年後には使えなくなるという自体に。
対応策を考え、Google Driveにバックアップする方法を選択し、必死に仕様を調査して実装までたどり着いた。

しかし、2017年4月に「ネイティブ アプリのOAuthインタラクションを最新にしてユーザビリティとセキュリティを向上する」WebViewでのGoogleへのOAuthリクエストのサポート終了するお知らせが・・・
一難去ってまた一難である。
Google Driveにアクセスする前にInAppBrowserを介してオーソライズを行っているが、それができなくなるということだ。
まだ4ヵ月あるとはいえ、早々に対応しておかないと身動きが取れなくなる。
アプリをリリースしても、不具合やユーザーの要望に加え、こうしたサービス終了に伴う問題など、なかなか放置できないのが現状である。
※Onsen UI + AngularJSを使用。
アプリにカラーピッカーのような機能を実現したいと思っていたところ、
Ionic Color Picker – Ionic Marketplace
というページを見つけ、早速それっぽい機能を実現してみた。
新規プロジェクトから「Onsen UI V2 Angular 1 Minimum」を作成。
$watchCollection()でcolorオブジェクトの変更を検知し、RGBのHEXコードを生成している。
Onsen UI V2対応はこちらから。
二日間もいろいろと試した結果、下記のコードになった。
「【Monaca】Onsen UI ons-list のズレをなくす」で紹介したCSSを適用することで面倒なborder-top、border-bottomの処理を軽減することができた。
また、「三」のアイコンをドラッグすることで入れ替えが行われるように変更した。
それから、style.cssでは、CSSによる変化が確認できるようにあえて色を変えているので、コードを流用する場合は注意していただきたい。
Continue reading
Onsen UI V2対応はこちらから。
$scope.tableに初期データを設定し、ons-listで一覧を表示する。
ons-list-itemをドラッグ&ドロップし、[Check Table]ボタンを押下すると、コンソールに並び替えた$scope.tableの内容が表示される。
———-
ルメール
戸崎
川田
デムーロ
福永

index.html
|
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 |
<!DOCTYPE HTML> <html> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <meta http-equiv="Content-Security-Policy" content="default-src * data:; style-src * 'unsafe-inline'; script-src * 'unsafe-inline' 'unsafe-eval'"> <script src="components/loader.js"></script> <link rel="stylesheet" href="components/loader.css"> <script src="js/jquery-3.1.1.min.js"></script> <script src="js/jquery-ui.min.js"></script> <script src="js/jquery.ui.touch-punch.min.js"></script> <link rel="stylesheet" href="css/jquery-ui.min.css"> <script src="js/app.js"></script> <link rel="stylesheet" href="css/style.css"> </head> <body> <ons-sliding-menu main-page="page1.html" swipeable="false"></ons-sliding-menu> <ons-template id="page1.html"> <ons-page ng-controller="page1Controller"> <ons-toolbar fixed-style> <div class="center">Sortable Test</div> </ons-toolbar> <ons-list id="sort-list" model="table"> <ons-list-item id="{{item.id}}" style="background-color: {{item.color}}" ng-repeat="item in table"> {{item.name}} </ons-list-item> </ons-list> <ons-button ng-click="checkTable()">Check Table</ons-button> </ons-page> </ons-template> </body> </html> |
app.js
|
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 39 40 |
"use strict"; var app = ons.bootstrap("myApp", ["onsen"]); app.controller("page1Controller", ["$scope", function($scope) { $scope.table = [ { id: "1", name: "戸崎", color: "#8888ff" }, { id: "2", name: "ルメール", color: "#88ff88" }, { id: "3", name: "デムーロ", color: "#ff8888" }, { id: "4", name: "川田", color: "#ffff88" }, { id: "5", name: "福永", color: "#ff88ff" } ]; ons.ready(function() { $("#sort-list").sortable({ axis: "y", tolerance: "pointer", update: function(e, ui) { var arrayId = $("#sort-list").sortable("toArray"); var table = []; for (var i = 0; i < arrayId.length; i++) { for (var j = 0; j < arrayId.length; j++) { if (arrayId[i] == $scope.table[j].id) { table.push($scope.table[j]); break; } } } $scope.table = angular.copy(table); } }); $("#sort-list").disableSelection(); }); $scope.$on("$destroy", function(e) { $scope.table = []; }); $scope.checkTable = function() { console.log("----------"); for (var i = 0; i < $scope.table.length; i++) { console.log($scope.table[i].name); } }; }]); |
※ons-list-itemの高さが45px(奇数)だと、ドラッグ&ドロップの際に毎回ズレが生じるため、44pxに変更している。
(jquery-ui.min.jsの処理で高さの1/2を算出する処理があるため。)
style.css
|
1 2 3 4 5 6 |
#sort-list ons-list-item { max-height: 44px; } #sort-list ons-list-item:hover { cursor: move; } |
10月1日~31日までのインプレッション数(上段)、クリック数(中段)、報酬額(下段)。

まずi-mobile。
バナー広告は全面撤退する方向で進めている。
次にAd Generation。
平均クリック数13と好調だが、平均単価7円と先月より-1.6円下がった。
アフィリエイト用のバナー広告の配信が影響していると思われるため、すべてはずす方向で進めている。
最後にnend。
平均クリック数13と先月より倍増、平均単価11円で変わらず。
ユーザー数が増え続けている影響が大きい。
3社トータルの収益が7,000円を突破した。
シンプル体重管理は、MonacaからVisual StudioのCordovaに移行させ、課金とAdMobのプラグインの使用するためのテストを行っている。
先月に引き続き、9月1日~30日までのインプレッション数(上段)、クリック数(中段)、報酬額(下段)を比較してみた。

まずはi-mobile。
先月同様、残念ながらクリック数に見合った報酬額ではない。
自社広告の表示がかなり目立つようになった。
平均クリック数6.9、平均単価3.6円と先月より-0.6円下がった。
次にAd Generation。
相変わらず報酬額0円の日が発生する。
平均クリック数8.6と先月より倍に急増も、平均単価8.6円と先月より-0.4円下がった。
最後にnend。
以前はバナー広告の低単価で苦しめられたが、ギャンブル収支管理・FX収支管理・シンプル体重管理に導入したネイティブアド広告が好調のようで、平均クリック数6.9、平均単価11円と+2.2円上がった。
ギャンブル収支管理の単価が最大15円前後なのが大きい。
9月末にユーザー数が多いシンプル体重管理にネイティブアド広告を導入したので、10月の収支が楽しみになりそう。
3社トータルの収益がやっと5,000円を突破したが、i-mobileの収益はこれ以上見込めないと判断。
9月末に行ったアプリの更新でi-mobileの広告を表示しないように変更した。
i-mobileの低単価の原因は、おそらく東証マザーズへの上場審査をクリアするために中抜きして報酬額を減らした可能性が高いだろう。
Ad Generationの配信設定において、アドネットワーク一覧にi-mobileがあるので、現在はそちらを有効にしている。