MonacaのIn-App Purchase Plugin DemoをビルドしてiPhoneでアプリを開いています。
demoのurl
https://docs.monaca.io/ja/tutorials/in-app_purchase/
本来であれば以下の画像のように表示されるはずのようなのですが、
本来金額が表示されたボタンが表示されるべきところに"Extra Life Invalid"を始めとしたエラー表示が挿入されています。
ソースコードのapp.js内の271行目の条件分岐(以下コード)に引っかかっているようで、
pに値が入ってきていないことが原因ではないかと思っています。
javascript
1 else if (!p.valid) { 2 el.innerHTML = '<h3>' + p.alias + ' Invalid</h3>'; 3 }
pに正しい値が入ってくるようにするためにはどうすれば良いのでしょうか?
私がビルドした環境などに原因があると考えられるのでしょうか?
原因が特定できないため、お知恵を貸していただければと存じます。
よろしくお願いいたします。
該当のソースコード(pが関与していそうな部分を抜粋)
javascript
1store.when("product").updated(function (p) { 2 app.renderIAP(p); 3 console.log(p); 4}); 5 6store.when("subscription1").approved(function(p) { 7 log("verify subscription"); 8 p.verify(); 9}); 10store.when("subscription1").verified(function(p) { 11 log("subscription verified"); 12 p.finish(); 13}); 14store.when("subscription1").unverified(function(p) { 15 log("subscription unverified"); 16}); 17store.when("subscription1").updated(function(p) { 18 if (p.owned) { 19 document.getElementById('subscriber-info').innerHTML = 'You are a lucky subscriber!'; 20 } 21 else { 22 document.getElementById('subscriber-info').innerHTML = 'You are not subscribed'; 23 } 24}); 25 26app.renderIAP = function(p) { 27 28 var parts = p.id.split("."); 29 var elId = parts[parts.length-1]; 30 31 var el = document.getElementById(elId + '-purchase'); 32 if (!el) return; 33 34 if (!p.loaded) { 35 el.innerHTML = '<h3>...</h3>'; 36 } 37 else if (!p.valid) { 38 el.innerHTML = '<h3>' + p.alias + ' Invalid</h3>'; 39 } 40 else if (p.valid) { 41 var html = "<h3>" + p.title + "</h3>" + "<p>" + p.description + "</p>"; 42 if (p.canPurchase) { 43 html += "<div class='button' id='buy-" + p.id + "' productId='" + p.id + "' type='button'>" + p.price + "</div>"; 44 } 45 el.innerHTML = html; 46 if (p.canPurchase) { 47 document.getElementById("buy-" + p.id).onclick = function (event) { 48 var pid = this.getAttribute("productId"); 49 store.order(pid); 50 }; 51 } 52 } 53}; 54
補足情報(FW/ツールのバージョンなど)
MacOS Sierra 10.12.6
XcodeVersion 9.2
iOS 11.4.1
Cordova 7.1.0
###追記:以下、Cordova plugin
(すべてsampleに最初から入っているもので、私が追加したものはありません)
cordova-custom-config v5.0.2
cordova-plugin-device v2.0.1
cc.fovea.cordova.purchase バージョンの記載なし
monaca-plugin-monaca-core v3.2.0
cordova-plugin-splashscreen v5.0.1
cordova-plugin-whitelist v1.3.3
###追記:エラー表示
エラー表示としては、Refresh purchaseボタンを押したときに以下の表示になります。
ビルドする前の状態ではcc.fovea.cordova.purchaseプラグインが動かないので、
googleChromeの開発ツールでエラーを確認することができませんでした。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。