これらの phonegap ビルド プラグインを機能させるために、さまざまなファイルとコードの組み合わせを試しましたが、これまでのところ何も機能していません。
これは、動作するはずの index.html の始まりです (最初のスクリプト インクルードを除くすべては phonegap プラグインではなく、直接 phonegap に関連するものでもありません)。
<!doctype html>
<html>
<head>
<script type="text/javascript" charset="utf-8" src="phonegap.js"></script>
<script type="text/javascript" charset="utf-8" src="jquery-2.1.1.min.js"></script>
<script type="text/javascript" charset="utf-8" src="pushNotif.js"></script>
<script type="text/javascript" charset="utf-8" src="tAuth.js"></script>
<script type="text/javascript" charset="utf-8" src="printR.js"></script>
<script type="text/javascript" charset="utf-8" src="clearCache.js"></script>
これはconfig.xmlです
<?xml version="1.0" encoding="UTF-8" ?>
<widget xmlns="http://www.w3.org/ns/widgets"
xmlns:gap = "http://phonegap.com/ns/1.0" id="com.example.example" version="0.0.1">
<name>Example</name>
<icon src="icon.png" />
<description>
Example app.
</description>
<author email="support@example.com" href="https://example.com">
Example
</author>
<content src="index.html" />
<access origin="*" />
<preference name="phonegap-version" value="3.5.0" />
<feature name="Geolocation">
<param name="ios-package" value="CDVLocation" />
</feature>
<gap:plugin name="org.apache.cordova.inappbrowser" version="0.5.2" />
<gap:plugin name="com.oauthio.plugins.oauthio" version="0.2.4" />
<gap:plugin name="com.phonegap.plugins.pushplugin" version="2.4.0" />
<gap:plugin name="org.apache.cordova.dialogs" version="0.2.10" />
<gap:plugin name="org.apache.cordova.geolocation" version="0.3.10" />
</widget>
OAuth
オブジェクト( oauth.ioの場合) またはwindow.plugins.pushNotification
( PushPluginの場合) が定義されているかどうかをテストすると、それらが未定義であることが常にわかります。
フォルダーには、次のようなすべてがまとめられています。
- (必須ファイル)
- config.xml
- icon.png
- index.html
- (アプリ固有のファイル)
- printR.js
- pushNotif.js
- tAuth.js
(すべてが 1 つのフォルダーに入っています。リスト内で分けただけです。)
手順が必要だと思ったのと同じように、とてもシンプルで簡単です。ただし、残念ながら機能していません。
phonegap.jsファイルを含めて、代わりにcordova.jsを含め、cordova.jsファイルを含め、プラグイン用のjsを含めてみましたが、そのように機能するとは思わないので、私が提示した方法は私が示したものですそれがどのように設定されるべきかということになっていると思います。
これは、phonegap プラグイン pushplugin の処理とチェックに使用しているスクリプトです。
if(typeof window.plugins != "undefined" &&
typeof window.plugins.pushNotification != "undefined"){
alert("phonegap pushplugin plugin IS included");//this worked
handlePushNotif();
} else {
alert("phonegap pushplugin plugin not included");
}
function handlePushNotif(){
//https://github.com/phonegap-build/PushPlugin/tree/93067b9303252d5ed7394819bf220db56d99d22c
var pushNotification;
pushNotification = window.plugins.pushNotification;
//register
//Get your senderID by signing into to your google dashboard. The //senderID is found at Overview->Dashboard->Project Number.
if ( device.platform == 'android' || device.platform == 'Android' )
{
pushNotification.register(
successHandler,
errorHandler, {
"senderID":"888264849750",
"ecb":"onNotificationGCM"
});
}
else
{
pushNotification.register(
tokenHandler,
errorHandler, {
"badge":"true",
"sound":"true",
"alert":"true",
"ecb":"onNotificationAPN"
});
}
// result contains any message sent from the plugin call
function successHandler (result) {
alert('result = ' + result);
}
// result contains any error description text returned from the plugin call
function errorHandler (error) {
alert('error = ' + error);
}
//tokenHandler (iOS ony) - called when the device has registeredwith a unique device token.
function tokenHandler (result) {
// Your iOS push server needs to know the token before it can push to this device
// here is where you might want to send it the token for later use.
alert('device token = ' + result);
}
}
スクリプトを含めると、そうではないPushNotification.js
ことがわかります。ただ、phonegap build では、自動でインクルードするように設計されているのではないかと思います。手動で含めない場合 (ファイルを git リポジトリからプロジェクト ファイルにコピーして具体的に含める)、そのオブジェクトが定義されていないことがわかります。ただし、phonegap ビルド ダッシュボードでは、プラグインが実際に含まれていることがわかります。window.plugins.pushNotification
undefined
PushNotification.js