{"id":30943712,"url":"https://github.com/hanatharesh2712/ionic-native-sms-retriever-plugin-master","last_synced_at":"2025-09-10T23:02:48.066Z","repository":{"id":47011570,"uuid":"164389768","full_name":"hanatharesh2712/ionic-native-sms-retriever-plugin-master","owner":"hanatharesh2712","description":"Cross-platform plugin for Cordova / PhoneGap to Retrieve SMS. Available for Android.","archived":false,"fork":false,"pushed_at":"2024-04-23T07:42:07.000Z","size":48,"stargazers_count":30,"open_issues_count":2,"forks_count":19,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-07-30T03:12:04.834Z","etag":null,"topics":["cordova","cordova-plugin","ionic","ionic-cordova","ionic-framework","ionic3","phonegap-plugin","sms","sms-verification"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hanatharesh2712.png","metadata":{"files":{"readme":"readme.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-01-07T06:44:17.000Z","updated_at":"2025-04-07T15:29:26.000Z","dependencies_parsed_at":"2024-04-23T08:43:28.446Z","dependency_job_id":null,"html_url":"https://github.com/hanatharesh2712/ionic-native-sms-retriever-plugin-master","commit_stats":{"total_commits":45,"total_committers":5,"mean_commits":9.0,"dds":0.4666666666666667,"last_synced_commit":"b9ecd1477fcc4ff5282f8210fc9cc3080a8a0433"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/hanatharesh2712/ionic-native-sms-retriever-plugin-master","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanatharesh2712%2Fionic-native-sms-retriever-plugin-master","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanatharesh2712%2Fionic-native-sms-retriever-plugin-master/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanatharesh2712%2Fionic-native-sms-retriever-plugin-master/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanatharesh2712%2Fionic-native-sms-retriever-plugin-master/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hanatharesh2712","download_url":"https://codeload.github.com/hanatharesh2712/ionic-native-sms-retriever-plugin-master/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hanatharesh2712%2Fionic-native-sms-retriever-plugin-master/sbom","scorecard":{"id":454155,"data":{"date":"2025-08-11","repo":{"name":"github.com/hanatharesh2712/ionic-native-sms-retriever-plugin-master","commit":"6b499b4c574fdf6275dfc56910981661ef9f9a93"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":2.7,"checks":[{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Dangerous-Workflow","score":-1,"reason":"no workflows found","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Pinned-Dependencies","score":-1,"reason":"no dependencies found","details":null,"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"Token-Permissions","score":-1,"reason":"No tokens found","details":null,"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":1,"reason":"Found 4/28 approved changesets -- score normalized to 1","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":0,"reason":"license file not detected","details":["Warn: project does not have a license file"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 7 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-19T09:08:07.880Z","repository_id":47011570,"created_at":"2025-08-19T09:08:07.881Z","updated_at":"2025-08-19T09:08:07.881Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274536184,"owners_count":25303782,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-10T02:00:12.551Z","response_time":83,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["cordova","cordova-plugin","ionic","ionic-cordova","ionic-framework","ionic3","phonegap-plugin","sms","sms-verification"],"created_at":"2025-09-10T23:00:57.886Z","updated_at":"2025-09-10T23:02:48.054Z","avatar_url":"https://github.com/hanatharesh2712.png","language":"Java","funding_links":["https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=YP2LMRCJMGTNJ\u0026source=url"],"categories":[],"sub_categories":[],"readme":"# ionic-native-sms-retriever-plugin-master\n# Cordova SMS retriver Plugin\n\nCross-platform plugin for Cordova / PhoneGap to to easily retrive SMS for your APP without need permission of SMS_READ. Available for **Android**.\n\n## Installing the plugin\n\nUsing the Cordova CLI run:\n\n```\nionic cordova plugin add cordova-plugin-sms-retriever-manager\nnpm install @ionic-native/sms-retriever\n```\n\nIt is also possible to install via repo url directly (unstable), run :\n\n```sh\nionic cordova plugin add https://github.com/hanatharesh2712/ionic-native-sms-retriever-plugin-master.git\n```\nYou can find working Demo for Cordova here: https://github.com/hanatharesh2712/automatic-sms-cordova/tree/main/hello\n## Using the plugin\nHTML\n\n```html\n \u003cinput type=\"button\" class=\"hashCode\" value=\"Get App Hash\" /\u003e\n \u003cinput type=\"button\" class=\"startWatching\" value=\"Start watching SMS\" /\u003e\n```\n\nJavascript\n\n```js\ndocument.querySelector('.hashCode').addEventListener('click', this.getAppHash);\ndocument.querySelector('.startWatching').addEventListener('click', this.retriveSMS);\n\nvar app = {\n  getAppHash: function() {\n    window['cordova']['plugins']['smsRetriever']['getAppHash'](\n    (result) =\u003e { \n      // Once you get this hash code of your app. Please remove this code.\n      alert(result);\n      console.log('Hash', result);\n    },\n    (err) =\u003e {\n      console.log(err);\n    });\n  }, \n\n  retriveSMS: function() {\n    window['cordova']['plugins']['smsRetriever']['startWatching'](\n    // the first callback is the success callback. We got back the native code’s result here.\n    (result) =\u003e { \n      alert(result.Message);\n      console.log('Message', result);\n    },\n    // the second is the error callback where we get back the errors\n    (err) =\u003e {\n      console.log(err);\n    });\n  }\n};\n```\nYou can find working Demo for Ionic 4 here: https://github.com/hanatharesh2712/sms-plugin-test\n\n  Typescript (Ionic 4)\n```typescript\nimport { SmsRetriever } from '@ionic-native/sms-retriever/ngx';\n\nconstructor(private smsRetriever: SmsRetriever) { }\n\n...\n\n// This function is to get hash string of APP.\n// * @return {Promise\u003cstring\u003e} Returns a promise that resolves when successfully generate hash of APP.\nthis.smsRetriever.getAppHash()\n  .then((res: any) =\u003e console.log(res))\n  .catch((error: any) =\u003e console.error(error));\n\n// * This function start wathching message arrive event and retrive message text.\n// * @return {Promise\u003cstring\u003e} Returns a promise that resolves when retrives SMS text or TIMEOUT after 5 min.\n this.smsRetriever.startWatching()\n  .then((res: any) =\u003e console.log(res))\n  .catch((error: any) =\u003e console.error(error)); \n```\n\nYou can find working Demo for Ionic 3 here: https://github.com/hanatharesh2712/sms-plugin-test-ionic-3\n\n  Typescript (Ionic 3)\n```typescript\n\nimport { SmsRetriever } from '@ionic-native/sms-retriever/ngx';\nvar smsRetriever = window['cordova']['plugins']['smsRetriever'];\n\npublic smsTextmessage: string = '';\npublic appHashString: string = '';\nconstructor(private smsRetriever: SmsRetriever) { }\n\n...\n\ngetHashCode() {\n  smsRetriever['getAppHash'](\n    (res) =\u003e {\n      this.appHashString = res;\n      console.log(res);\n    }, (err) =\u003e {\n      console.warn(err);\n    }\n  );\n}\n\ngetSMS() {\n  smsRetriever['startWatching'](\n    (res) =\u003e {\n      this.smsTextmessage = res.Message;\n      console.log(res);\n    }, (err) =\u003e {\n      console.warn(err);\n    }\n  );\n}\n```\n\nFlow to test: \n[![flow](https://raw.githubusercontent.com/hanatharesh2712/automatic-sms-cordova/main/hello/res/ref-images/sms%20plugin%20demo.png)](https://raw.githubusercontent.com/hanatharesh2712/automatic-sms-cordova/main/hello/res/ref-images/sms%20plugin%20demo.png)\n\nYou need to send your application hash in SMS when you are sending from your backend. to generate the hash of your application read this: https://developers.google.com/identity/sms-retriever/verify\n\nTo get your application hash code:\n\n* Without the correct hash, your app won't recieve the message callback. This only needs to be\n* generated once per app and stored. Then you can remove this function from your code.\n\nBUILD FAILED\n\nThe problem is that you need to make sure that you set the target to android-19 or later in your ./platforms/android/project.properties file like this:\n\n    # Project target.\n    target=android-19\n\n\n## Donations\n\nIf your app is successful or if you are working for a company, please consider donating some beer money :beer::\n\n[![paypal](https://www.paypalobjects.com/en_US/i/btn/btn_donateCC_LG.gif)](https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick\u0026hosted_button_id=YP2LMRCJMGTNJ\u0026source=url)\n\nKeep in mind that I am maintaining this repository on my free time so thank you for considering a donation. :+1:\n\n\n## Contributing\n\nI believe that everything is working, feel free to put in an issue or to fork and make pull requests if you want to add a new feature.\n\nThings you can fix:\n* Allow for null number to be passed in\n  Right now, it breaks when a null value is passed in for a number, but it works if it's a blank string, and allows the user to pick the number\n  It should automatically convert a  null value to an empty string\n\nThanks for considering contributing to this project.\n\n### Finding something to do\n\nAsk, or pick an issue and comment on it announcing your desire to work on it. Ideally wait until we assign it to you to minimize work duplication.\n\n### Reporting an issue\n\n- Search existing issues before raising a new one.\n\n- Include as much detail as possible.\n\n### Pull requests\n\n- Make it clear in the issue tracker what you are working on, so that someone else doesn't duplicate the work.\n\n- Use a feature branch, not master.\n\n- Rebase your feature branch onto origin/master before raising the PR.\n\n- Keep up to date with changes in master so your PR is easy to merge.\n\n- Be descriptive in your PR message: what is it for, why is it needed, etc.\n\n- Make sure the tests pass\n\n- Squash related commits as much as possible.\n\n### Coding style\n\n- Try to match the existing indent style.\n\n- Don't mix platform-specific stuff into the main code.\n\n\n\n\n## History\n\n\n## License\n\nThe MIT License\n\nPermission is hereby granted, free of charge, to any person obtaining a copy of\nthis software and associated documentation files (the \"Software\"), to deal in\nthe Software without restriction, including without limitation the rights to\nuse, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of\nthe Software, and to permit persons to whom the Software is furnished to do so,\nsubject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS\nFOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR\nCOPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER\nIN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN\nCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanatharesh2712%2Fionic-native-sms-retriever-plugin-master","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhanatharesh2712%2Fionic-native-sms-retriever-plugin-master","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhanatharesh2712%2Fionic-native-sms-retriever-plugin-master/lists"}