0
我使用的是phonegap 2.6.0,ios 7 sdk的設備是5.1。我已經實現應用內購買經理pluginIos應用內購買請求數據函數不能觸發?
在deviceready功能我曾嘗試調用的RequestData()函數,但它不是解僱,因爲它應該是
function onDeviceReady(){
alert(window.plugins.inAppPurchaseManager); //-->This alerts as Object
window.plugins.inAppPurchaseManager.onPurchased = function(transactionIdentifier, productId, transactionReceipt) {
updatePurchaseTable(productId);
window.location.reload();
console.log('purchased: ' + productId);
}
window.plugins.inAppPurchaseManager.onRestored = function(transactionIdentifier, productId, transactionReceipt) {
console.log('restored: ' + productId);
/*See the developer guide for details of what to do with this */
}
window.plugins.inAppPurchaseManager.onFailed = function(errno, errtext) {
alert('failed: ' + errtext);
}
window.plugins.inAppPurchaseManager.requestProductData("ProductId1", function(result) {
alert(result.id); //-->this doesn't happen
console.log("productId: " + result.id + " title: " + result.title + " description: " + result.description + " price: " + result.price);
//window.plugins.inAppPurchaseManager.makePurchase(result.id, 1);
}, function(id) {
alert("Invalid product id: " + result.id);
}
);
}
我config.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<widget>
<preference name="AllowInlineMediaPlayback" value="false" />
<preference name="AutoHideSplashScreen" value="true" />
<preference name="BackupWebStorage" value="cloud" />
<preference name="DisallowOverscroll" value="false" />
<preference name="EnableLocation" value="false" /><!-- DEPRECATED -->
<preference name="EnableViewportScale" value="false" />
<preference name="FadeSplashScreen" value="true" />
<preference name="FadeSplashScreenDuration" value=".25" />
<preference name="HideKeyboardFormAccessoryBar" value="false" />
<preference name="KeyboardDisplayRequiresUserAction" value="true" />
<preference name="KeyboardShrinksView" value="false" />
<preference name="MediaPlaybackRequiresUserAction" value="false" />
<preference name="ShowSplashScreenSpinner" value="true" />
<preference name="SuppressesIncrementalRendering" value="false" />
<preference name="TopActivityIndicator" value="gray" />
<content src="index.html" />
<plugins>
<plugin name="Device" value="CDVDevice" />
<plugin name="Logger" value="CDVLogger" />
<plugin name="Compass" value="CDVLocation" />
<plugin name="Accelerometer" value="CDVAccelerometer" />
<plugin name="Camera" value="CDVCamera" />
<plugin name="NetworkStatus" value="CDVConnection" />
<plugin name="Contacts" value="CDVContacts" />
<plugin name="Debug Console" value="CDVDebugConsole" />
<plugin name="Echo" value="CDVEcho" />
<plugin name="File" value="CDVFile" />
<plugin name="FileTransfer" value="CDVFileTransfer" />
<plugin name="Geolocation" value="CDVLocation" />
<plugin name="Notification" value="CDVNotification" />
<plugin name="Media" value="CDVSound" />
<plugin name="Capture" value="CDVCapture" />
<plugin name="SplashScreen" value="CDVSplashScreen" />
<plugin name="Battery" value="CDVBattery" />
<plugin name="Globalization" value="CDVGlobalization" />
<plugin name="InAppBrowser" value="CDVInAppBrowser" />
<platform name="ios">
<config-file target="config.xml" parent="/*">
<feature name="InAppPurchaseManager">
<param name="ios-package" value="InAppPurchaseManager" />
</feature>
</config-file>
<!-- Note: the ios src is based off src/ios implicitly -->
<header-file src="InAppPurchaseManager.h" />
<source-file src="InAppPurchaseManager.m" />
<framework src="StoreKit.framework" />
</platform>
</plugins>
<access origin="*" />
</widget>
並且.h和.m文件位於項目源中的插件文件夾中。在本地
InAppPurchaseManager.m
文件中- (void) requestProductData:(CDVInvokedUrlCommand*)command
功能
我也作出了警告,這並不表明任何警報也。
你的插件是我在科爾多瓦2.6的第一選擇window.storekit是(未定義)不初始化,我嘗試了很多事情來解決,但徒勞無功。所以,我已升級到科爾多瓦3.0,現在它與您的插件。但thnx您的答覆 –