開発者として、このユーザーデータ「新規ユーザー維持率」に注意を払っていますか。
顧客獲得はユーザー操作の最初のステップにすぎず、維持することで実際のコンバージョンをもたらすことができます。現実には、多くのユーザーがアプリをダウンロードしてサインアップしますが、さまざまな理由により、それ以上のアクションは実行されません。高い顧客獲得と低い保持は、新規採用が戦いの半分に過ぎないことを意味します。
新しく登録したユーザーがアプリにアクセスしない時間が長いほど、解約の可能性が高くなります。受動的にアンインストールを待つのではなく、勝利を追いかけてユーザーを維持するにはどうすればよいですか?登録後にユーザーがチャンネルにアクセスすることは特に重要です。
一般的なマーケティング手法として、SMSは幅広いオーディエンスカバレッジとシンプルな配信方式を備えています。さらに重要なことは、SMSの発行コストが非常に低く、従量課金制であり、RO Iが100%を超えていることです。
次に、それを3つのステップに分けて、ユーザーアクセスチャネルを通過する方法を説明します。SMSを歓迎します。効率的かつ正確な連絡を通じて、新規ユーザーの維持率を向上させます。
プロセス全体で、SMSサービス、サーバーレス認証サービス、クラウド機能が呼び出されます。ユーザーが正常に登録すると、登録時に入力した携帯電話番号にアプリケーションからウェルカムテキストメッセージが送信され、ユーザーはアプリケーションシナリオにすばやく統合して、人気のあるコンテンツを初めて知ることができます。
ステップ1:サーバーレス認証サービスを有効にし、携帯電話番号の認証方法を作成する
まず、認証サービスにアクセスして、アプリケーションのアカウントシステムを作成する必要があります。
-
認証サービスを有効にする
1. HUAWEI AppGallery Connect Webサイトにログインし、[マイプロジェクト]をクリックします。
2.プロジェクトリストでプロジェクトをクリックします。
3.[ビルド]>[認証サービス]を選択して認証サービスページに入り、次の操作を実行します。
a。認証サービスをアクティブ化します
b。携帯電話番号認証を有効にする
-
携帯電話番号認証方式の開発
1.まず、sendVerifyCodeメソッドを呼び出して、登録用の確認コードを取得する必要があります。
public void sendPhoneVerify(String accountNumber) {
String countryCode = "86";
VerifyCodeSettings settings = VerifyCodeSettings.newBuilder()
.action(VerifyCodeSettings.ACTION_REGISTER_LOGIN)
.sendInterval(30)
.locale(Locale.SIMPLIFIED_CHINESE)
.build();
if (notEmptyString(countryCode) && notEmptyString(accountNumber)) {
Task<VerifyCodeResult> task = PhoneAuthProvider.requestVerifyCode(countryCode, accountNumber, settings);
task.addOnSuccessListener(TaskExecutors.uiThread(), verifyCodeResult -> {
mAuthReCallBack.onSendVerify(verifyCodeResult);
}).addOnFailureListener(TaskExecutors.uiThread(), e -> {
Log.e(TAG, "requestVerifyCode fail:" + e.getMessage());
mAuthReCallBack.onFailed(e.getMessage());
});
} else {
Log.w(TAG, "info empty");
}
}
2.次に、ユーザー登録のためにcreateUserメソッドを呼び出します
public void registerPhoneUser(String accountNumber, String verifyCode, String password) {
String countryCode = "86";
PhoneUser phoneUser = new PhoneUser.Builder()
.setCountryCode(countryCode)
.setPhoneNumber(accountNumber)
.setVerifyCode(verifyCode)
.setPassword(password)
.build();
AGConnectAuth.getInstance().createUser(phoneUser)
.addOnSuccessListener(signInResult -> {
mAuthReCallBack.onAuthSuccess(signInResult, 11);
}).addOnFailureListener(e -> {
mAuthReCallBack.onFailed(e.getMessage());
});
}
3.登録ユーザーの場合、signinメソッドを呼び出してログインできます
public void phoneLogin(String phoneAccount, String photoPassword) {
String countryCode = "86";
AGConnectAuthCredential credential = PhoneAuthProvider.credentialWithVerifyCode(
countryCode,
phoneAccount,
photoPassword,
null);
AGConnectAuth.getInstance().signIn(credential).addOnSuccessListener(signInResult -> {
Log.i(TAG, "phoneLogin success");
mAuthLoginCallBack.onAuthSuccess(signInResult, 11);
signInResult.getUser().getToken(true).addOnSuccessListener(tokenResult -> {
String token = tokenResult.getToken();
Log.i(TAG, "getToken success:" + token);
mAuthLoginCallBack.onAuthToken(token);
});
}).addOnFailureListener(e -> {
Log.e(TAG, "Login failed: " + e.getMessage());
mAuthLoginCallBack.onAuthFailed(e.getMessage());
});
}
ステップ2:サーバーレスクラウド機能サービスを有効にし、認証サービス登録成功トリガーを設定します
上記の操作が完了したら、クラウド機能で認証サービストリガーを設定する必要があります。
1. HUAWEI AppGallery Connect Webサイトにログインし、[マイプロジェクト]をクリックします。
2.プロジェクトリストでプロジェクトをクリックします。
3.[ビルド]>[クラウド機能]を選択してクラウド機能ページに入り、次の操作を完了します。
b。ウェルカムメッセージを送信する関数を作成します(次の章で詳しく説明します)
c。 ウェルカムメッセージをクラウド関数に送信する関数をアップロードします
d。 認証サービストリガーを作成します:イベント名として[ユーザー登録]を選択します
ステップ3:サーバーレスクラウド機能のSMSサービスインターフェースを呼び出してSMSを送信する
ユーザーが正常に登録されたら、ウェルカムSMSをユーザーに送信する必要があります。ここでは、 HUAWEIAppGalleryConnectが提供するSMSサービスを使用してSMSを送信します。
-
SMSサービスをアクティブにしてSMSテンプレートを設定する
1. HUAWEI AppGallery Connect Webサイト にログインし、[マイプロジェクト]をクリックします。
2.プロジェクトリストでプロジェクトをクリックします。
3.[成長]>[SMSサービス]を選択してSMSサービスページに入り、次の操作を完了します。
a。SMSサービスを開く
b。SMS署名を構成します
c。SMSテンプレートを構成します
d。API呼び出しを有効にする
-
クラウド機能は、SMSサービスのRestApiインターフェースを呼び出してSMSを送信します
1.トリガーを介してユーザーの携帯電話番号とユーザー情報を取得します
var phoneNumber = event.phone.slice(4);
var userID = event.uid;
var userName = "认证用户ID" + phoneNumber.slice(11);
2.SMSサービスRestApiに電話してSMSを送信します
var requestData = {
"account": "AGC199",
"password":"Huawei1234567890!",
"requestLists": [
{
"mobiles":["" + phoneNumber],
"templateId":"SMS02_21090100001",
"messageId":"12345",
"signature":"【PhotoPlaza】"
}
],
"requestId": "" + curTime
};
logger.info("requestData: " + JSON.stringify(requestData));
var options = {
hostname: '121.37.23.38',
port: 18312,
path: '/common/sms/sendTemplateMessage',
method: 'POST',
headers: {
'Content-Type' : 'application/json'
},
rejectUnauthorized: false,
requestCert: false
};
var req = https.request(options, function(res) {
res.on('data', function(data) {
var response = JSON.parse(data.toString());
logger.info('All resultList: ' + JSON.stringify(response.resultLists));
});
res.on('end', function(){
logger.info('RequestResult: success');
let result = {"message":"Send Message Success"};
callback(result);
});
res.on('error', function(e) {
logger.info('request error, ' + e.message);
let result = {"message":"error:" + e.message}
callback(result);
});
});
req.on('error', function(error) {
logger.info('request error, ' + error.message);
let result = {"message":"error:" + e.message}
callback(result);
});
req.write(JSON.stringify(requestData));
req.end();
それでおしまい!
構築プロセス中にサーバーレスサービスについて疑問がある場合は、[email protected]に電子メールを送信して相談することができます。。
ウェルカムSMS通知の詳細については、次のドキュメントを参照してください。
3.SMSサービス開発ガイド