OutsystemsのPushwooshでハマったこと


はじめに

ある日、Servicecenterにてモバイルジェネレートが急に失敗するようになった。

少しだけハマったので、ここに記します。

想定読者

モバイルジェネレート時にpushwooshでエラーがでた方(マニアック)

OutsystemのPushwooshはこちらですね。

起きたこと

■実際に起きたエラー

Error: Error generating application. At least one Cordova plugin used in the build requires an AndroidX library, which is not currently compatible with MABS. Check your plugins configuration.

AndroidX Library周りでエラーがおきましたが、詳細なエラーはこちらでは追えないのでOutsystemsSupportに相談

■頂いた回答

要するに、MABS(Outsystemsのモバイルビルド)のバージョンとPushwooshのバージョンの互換性がなかったみたいです。

今Pushwooshのバージョンが3.01なのでMABS5との互換性がなかったんですね。
でもなんで急に互換性のエラーがでたのかは謎。。
MABS5にビルドしにいくようになったのかな。

■対処法(その1)

Pushwooshのバージョン4.3をForgeからダウンロードしてPublishしました。

起きたこと(その2)


。。。なんかまた失敗してますな。

今度はpushwoosh-cordova-pluginで問題が起きてました。

ログを追ってみると、

Failed to install 'pushwoosh-cordova-plugin': undefined
Error: Failed to install Pushwoosh plugin. Reason: Configuration zip file not found.

なんかzipがないよって言われてます。

たしかにプッシュ通知の設定ではzipファイルをアプリに入れてくださいって書いてありました。
しかしこの設定を加えてないけど、アプリのプッシュ通知は元気に動いていました。
https://success.outsystems.com/Documentation/Development_FAQs/How_to_Use_Push_Notifications_with_Pushwoosh

また、サポートに聞いてみたら以下の回答を頂きました。

まぁ、Googleさんの方でこちらの設定が必須になったっぽいです。

■対処法(その2)

google-service.zipの作成

Firebaseのコンソール画面でAndroidのアプリを追加

Androidパッケージ名とニックネームを入力してアプリを登録。
署名証明書は省略しました。

こちらを入力すると、google-service.jsonのファイルをダウンロードできるようになります。

③と④は今回省略しました。

ダウンロードしたgoogle-service.jsonのファイルをzip化して、Outsystemsの対象のアプリのResources配下に配置。

こんな感じで解決しました。

終わりに

モバイルジェネレート周りはIOSとAndroidでちょっと仕様が違うのでやっかい。。