web-dev-qa-db-ja.com

Ionic 4 OTP検証用SMSプラグイン

私はIonic4アプリを開発しています。自動検証、またはいつでもSMS私のアプリはそのメッセージを読む必要があります。このために「Cordova PluginをCordova-Plugin-SMS」を使用しましたが、機能していません。宣言された「allare varウィンドウ:any」と宣言しました。 var smsを宣言します。何も働いていません。 「java.lang.ClassNotFoundException:Com.rjfun.Cordova.Sms.Smsplugin」を「TypeError:undefined」を表示できません」を表示します。この問題を解決するのに役立ちます

6
Rajesh Yadav

このIonic/Cordovaプラグインを使用するには、自動OTP検証のためにこのイオン/ Cordovaプラグインを使用でき、これはユーザーにSMS読み取り権限)を求めることはできません。

プラグイン: https://github.com/hanatharesh2712/ionic-native-sms-retriever-plugin-master

Demo App : https://github.com/hanatharesh2712/sms-plugin-test

0
haresh hanat

とても素敵な質問... Cordovaプラグインを使用する必要があります。以下のものです

まず、Android権限Ionicネイティブプラグインをインストールする必要があります。最初にこれら2つのコマンドを実行して、Android権限プラグインをインストールします。

_ionic cordova plugin add cordova-plugin-Android-permissions
npm install @ionic-native/Android-permissions
_

アプリのモジュールにAndroid権限を追加します。

_import { AndroidPermissions} from '@ionic-native/Android-permissions';

@NgModule({


  providers: [

    AndroidPermissions

  ]

})
export class AppModule { }
_

ページの権限を確認してください

_import { AndroidPermissions } from '@ionic-native/Android-permissions';


export class HomePage {
constructor(public androidPermissions: AndroidPermissions) { }



ionViewWillEnter()
{

this.androidPermissions.checkPermission(this.androidPermissions.PERMISSION.READ_SMS).then(
  success => console.log('Permission granted'),
err => this.androidPermissions.requestPermission(this.androidPermissions.PERMISSION.READ_SMS)
);

this.androidPermissions.requestPermissions([this.androidPermissions.PERMISSION.READ_SMS]);
}
}
_

Read SMS権限を許可した後、Cordova-Plugin-SMSをインストールする必要があります。インストールするにはこのコマンドを実行してください。

_ionic cordova plugin add cordova-sms-plugin

npm install @ionic-native/sms
_

そしてあなたのページの中でSMSを読みながら -

declareクラスの前に上に置きます

_declare var SMS:any;
_

下の授業の下に置きます

_ionViewDidEnter()
    {

    this.platform.ready().then((readySource) => {
    if(SMS) SMS.startWatch(()=>{
               console.log('watching started');
            }, Error=>{
           console.log('failed to start watching');
       });

      document.addEventListener('onSMSArrive', (e:any)=>{
           var sms = e.data;
           console.log(sms);

           });

        });
    }
_
0

それは プラグイン SMSを受信して​​いない、アプリからSMS)を送信できるようにします。

SMS]から入手するには、Deeplinksを使用してARGSとして渡すことができます。これにより、ユーザーがSMSのリンクをタップする必要があります。私は持つ方法を知らないでしょう。 SMSあなたのアプリに自動的に供給されるデータ、そしてそれがセキュリティ上のリスクになるのでそれが不可能と思うでしょう。

カスタムURLスキームは、それをする最も簡単な方法です(例えばmycoolapp://some-path?p1=data1&p2=data2

App Links (Android> 6.0)と ユニバーサルリンク (iOS> 9.0)はより強力ですが不要であり、サポートされていない可能性があります。それは本当にあなたのユースケースに依存します。

イオンは コミュニティ維持プラグイン ここで必要な回避策とそこに、私が使うと仕事をしています。 branch.ioの プラグイン もオプションですが、それを使用していません。

0
Alex Steinberg