新しいionic 2プロジェクト(最新のionic2バージョン)でcordova GooglePlusプラグインを使用しようとしていますが、cordovaに関するエラーが常に発生します。プラグインが適切にインストールされ、プラグインフォルダーに表示されます。
私が試した1つのアプローチはこれです:
import { GooglePlus } from "ionic-native";
その後
GooglePlus.login().then(...)
ログインメソッドは実行されますが、常に"cordova_not_available"
というエラーがスローされます
Android電話に展開する前に、まずWindowsシステムでionic serve
を使用してアプリをテストします。 localhostサーバーでCordovaを使用可能にするにはどうすればよいですか?検索から、cordova.jsが生成され、常にデバイスの展開パッケージに含まれていることがわかります。
私が試した別のアプローチは
window.plugins.googleplus.login(...)
しかし、このアプローチは、Windowsオブジェクトのプラグインプロパティについて何も知らないTypeScriptコンパイラーを経由しません。
どうすれば修正できますか?
プラグインをブラウザで機能させるには、platform browser
を追加して実行する必要があります。
ionic cordova platform add browser
そしてそれを実行します:
ionic cordova run browser
ionic serve
の代わりに。
ionic serve
を使用すると、デバイスで実行されていないため、すべてのcordovaプラグインが無効になります。
代わりにionic cordova run Android
を使用します。これにより、すべてのCordovaプラグインが機能できるようにするAndroidエミュレーターが起動します。
また、2番目のアプローチに出くわしましたが、構文はwindows['plugins'].googleplus.login(...)
でなければなりません
ionic cordova run browserを使用するのは、変更をコンパイルするのに時間がかかるため、最適なオプションではない場合があります。
私の場合、問題の原因はFCMプラグインでした。 ionic serveを使用すると、ブラウザーで実行できません。私のコードはapp.component.ts内にあるため、問題を簡単に回避できました。次の行を使用しました。
if (platform.is('cordova'))
{ this.fcmx.onTokenRefresh().subscribe(token => {
this.pushNoti.storeNewToken(token); }); }
Platform.is( 'cordova')を使用すると、ブラウザーでのトラブルの原因となるコードの実行を防ぐことができます。
Androidデバイスを接続した後に単に実行する
ionic cordova run Android
必ずGoogleマップキーを修正してください