backend(mBaaS)。WebAssemblyMonacaはハイブリッドアプリ開発PFであり、開発はHTML/JavaScript/CSSで行います。そのため、アプリはストアでリリースされたものであってもソースが閲覧できる状態になっています。防ぐためにはエンタープライズプランで提供されるアプリのロジック暗号化プラグインやtkyaji/cordova-plugin-crypt-fileを導入する必要があります(独自プラグインの導入はプロプラン以上でなければいけません)。SDKを使いましょう。この方法であればフリープランでも使えますし、クライアントキーが漏洩する訳ではありません。SDKを作るWebAssemblyはRustで書かれたコードをコンパイルしなければなりません。そのためRustの開発環境またはDockerを使います。今回はより手軽なDocker版を紹介します。Dockerの準備Dockerはすでにインストールされていることとします。下記コマンドでビルド環境ができあがります。次に別なディレクトリでWebAssembly版の準備をします。書かれている部分を自分のクライアントキーに書き換えます。書き換えたらビルドを実行します。いうファイルができあがっています。他に必要なファイルとしては下記があります。SDKとWebAssemblyをMonacaアプリにアップロードします。今回は以下のようにアップロードします。www/vendors/wasm/そしてHTMLファイルで読み込みます。src="www/vendors/ncmb/ncmb.min.js"></script>プログラミングを書くJavaScriptファイル(app.jsなど)では以下のように実行します。ncmb.wasmのパスは環境に応じて書き換えてください。YOUR_APPLICATION_KEYはあなたのアプリケーションキーと書き換えてください。いう関数があるかどうかでWebAssembly版を使うかどうかが判別されます。SDKの初期化のタイミングは特に関係ないのですが、wasm_signを定義してから実行すれば、常にwasm_signを使って署名処理を行うようになります。注意点WebAssembly版ではクライアントキーの隠蔽化が行われるので、クライアントキーは漏洩しなくなります。JavaScript自体のコードは隠蔽化されないのでロジックは見えてしまうでしょう。データの安全性のためにはログインユーザごとの権限設定や、クラスごとの権限設定を正しく行うようにしましょう。まとめWebAssembly版はごく簡単に導入ができます。クライアントキーを隠蔽化するためにぜひ利用してください。篤司NCMBエヴァンジェリスト。プログラマ、エンジニアとしていくつかの企業で働き、28歳のときに独立。2004年、まだ情報が少なかったオープンソースソフトの技術ブログ「MOONGIFT」を開設し、毎日情報を発信している。2013年に法人化、ビジネスとエンジニアを結ぶDXエージェンシー「DevRel」活動をスタート。Tumblr関連記事2018-10-02WebAssembly版NCMBのビルドを簡単に行う方法WebAssemblyはコンパイルしたコードを実行するWeb技術です。Service)とは、スマートフォンアプリでよく利用される汎用的な機能をSDKとクラウドから提供するサービスです。backendのちょっと便利な使いかた・非公式SDKやアプリ開発の関連情報などをお届けするブログです。※記事内には、サポート対象外の内容も含みます。本ブログではコメント機能を公開しておりません。アプリ開発を行う上での課題解決には、ユーザーコミュニティやもくもく会などもご活用ください。LIMITEDスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。