【GAS入門②】Firebase app distributionからのiOSデバイス登録メール、いっそのことGASで自動化しちゃおうよ😎
アプリ開発をしている皆さん、
リリースに関して面倒なことはありませんか?
そう、iOSのデバイス登録です。
Firebase app distributionでアプリを配信したあと、
iOSユーザーがアプリを利用できるようにするために
開発者は追加の作業をしないといけません。
具体的には以下の通り
アプリをリリースするだけなのに、
iOSの場合は余計な作業に追われてしまいます…
開発者は辛いよ…
そして何より、一番の問題は、
Gmailを開かないといけないことです。
いつもSlackを通してコミュニケーションをしているのに、
iOSのデバイス登録メールだけはGmailで確認しないといけない…
これが想像以上に辛いんですよね。
具体的なGmailのデメリットとして挙げられるのは以下の通り
つまり、
開発者にとってもユーザーにとってもデメリットである
という状況を生んでしまっているわけです。
画期的な解決策
そこで、登場するのが今回の主人公、GASなんです。
GASの使い方について、
環境構築からSlackに通知するまでのシンプルな方法を
以下のnoteで紹介しているので、ぜひ参考にしてください。
それでは、Gmailに届いた特定の件名のメールを取得して、Slackに自動で通知する方法を見ていきましょう!
function getGmail() {
const query = 'in:inbox subject:(新しいデバイスが登録されました)';
const gmailThread = GmailApp.search(query, 0,10);
const gmailMessage = GmailApp.getMessagesForThreads(gmailThread);
for(const message of gmailMessage) {
for(const mail of message) {
const body = mail.getPlainBody();
sendMessageToSlack(`${body}\nApple developerリンク: https://developer.apple.com/account/resources/devices/add`);
}
}
}
function sendMessageToSlack(text) {
var slackUrl = 'Incoming Webhookで取得したURL';
var username = '通知bot';
var icon_emoji = ':ghost:';
var payload = {
'username': username,
'text': text,
'icon_emoji':icon_emoji
};
var options = {
'method': 'post',
'contentType': 'application/json',
'payload': JSON.stringify(payload)
};
UrlFetchApp.fetch(slackUrl, options);
console.log('Slackに通知を送信しました!');
}
これで、
Firebase app distributionからiOSのデバイス登録メールがGmailに届くと、
GASが起動してSlackに自動で通知してくれるための仕組みが完成しました。
Slackにきちんと通知が届いていますね🎉
また、Slackに通知を送る際に、
Apple developerのDevicesページのリンクも同時に添付しています。
そのため、
リンクをクリックするだけでデバイス登録ページに移動できます。
ブラウザからApple developerを検索して、Apple IDとパスワードを入力してログインして、Devicesページを探して…
という一連の手間を全て自動化することもできましたね!
最後に
いかがでしたでしょうか?
Firebase app distributionからのiOSデバイス登録メールをGmailで確認するという行為は地味に面倒になりがちです。
そこで、
この問題を解決するためにGASを用いて一連の流れを自動化しました。
今回はGmailの内容を取得してSlackに通知するという
仕組みを構築しましたが、1つだけ改善したいところがあります。
それは、
ということです。
Gmailの内容を全文取得してSlackに送信していたら、
文章が長くなってしまいますからね。
ということで、次回のGAS入門③では、
特定の範囲の文字列を抽出する方法について解説します。
とても簡単に実装ができるので、
ぜひ参考にしていただければ幸いです👍
次回のGAS入門
それではまた!
この記事が気に入ったらサポートをしてみませんか?