{"id":23337326,"url":"https://github.com/griesoft/xamarin-rating-gateway","last_synced_at":"2026-04-28T18:34:28.140Z","repository":{"id":39624840,"uuid":"296862879","full_name":"griesoft/xamarin-rating-gateway","owner":"griesoft","description":"A rating gateway which takes care of when to prompt the user to review your Xamarin application by evaluating through a set of defined conditions each time a rating action is triggered by the user.","archived":false,"fork":false,"pushed_at":"2022-12-14T13:18:06.000Z","size":193,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-08-01T02:25:06.186Z","etag":null,"topics":["rating-system","review-tools","xamarin","xamarin-android","xamarin-ios","xamarin-rating-gateway"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/griesoft.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS.md","security":null,"support":null}},"created_at":"2020-09-19T12:21:44.000Z","updated_at":"2022-04-12T20:40:01.000Z","dependencies_parsed_at":"2023-01-28T23:31:03.991Z","dependency_job_id":null,"html_url":"https://github.com/griesoft/xamarin-rating-gateway","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/griesoft/xamarin-rating-gateway","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griesoft%2Fxamarin-rating-gateway","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griesoft%2Fxamarin-rating-gateway/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griesoft%2Fxamarin-rating-gateway/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griesoft%2Fxamarin-rating-gateway/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/griesoft","download_url":"https://codeload.github.com/griesoft/xamarin-rating-gateway/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/griesoft%2Fxamarin-rating-gateway/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32394465,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["rating-system","review-tools","xamarin","xamarin-android","xamarin-ios","xamarin-rating-gateway"],"created_at":"2024-12-21T02:16:42.364Z","updated_at":"2026-04-28T18:34:28.120Z","avatar_url":"https://github.com/griesoft.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Xamarin Rating Gateway\nA rating gateway which takes care of when to prompt the user to review your Xamarin application by evaluating through a set of defined conditions each time a rating action is triggered by the user.\n\nCatching the perfect moment to prompt your user to review your application can be a very difficult task and each failed attempt can be big wasted potential. This rating gateway helps you to set up even complex conditional triggers that will prompt the user to review the app when all of the trivial conditions are met.\n\n[![Build Status](https://dev.azure.com/griesingersoftware/Xamarin%20Rating%20Gateway/_apis/build/status/CI%20Pipeline?branchName=master)](https://dev.azure.com/griesingersoftware/Xamarin%20Rating%20Gateway/_build/latest?definitionId=26\u0026branchName=master)\n[![License](https://badgen.net/github/license/griesoft/xamarin-rating-gateway)](https://github.com/griesoft/xamarin-rating-gateway/blob/master/LICENSE)\n[![NuGet](https://badgen.net/nuget/v/Griesoft.Xamarin.RatingGateway)](https://www.nuget.org/packages/Griesoft.Xamarin.RatingGateway)\n[![GitHub Release](https://badgen.net/github/release/griesoft/xamarin-rating-gateway)](https://github.com/griesoft/xamarin-rating-gateway/releases)\n\n## Installation\n\nInstall via [NuGet](https://www.nuget.org/packages/Griesoft.Xamarin.RatingGateway/) using:\n\n``PM\u003e Install-Package Griesoft.Xamarin.RatingGateway``\n\n*Make sure that you add this package to each platform that you intend to use it on.*\n\n## Quickstart\n\nInitialize the rating gateway on application startup as soon as possible with \n```csharp\nRatingGateway.Initialize(\"YourCondition\", new BooleanRatingCondition())\n```\nYou can also add multiple conditions at once by using the overload of the static `RatingGateway.Initialize(...)` method.\n\n#### Android\nIn the `OnCreate` of your startup **Activity**:\n```csharp\nprotected override void OnCreate(Bundle savedInstanceState)\n{\n    RatingGateway.Initialize(\"YourCondition\", new BooleanRatingCondition());\n}\n```\n#### iOS\nIn the `FinishedLaunching` of your **AppDelegate**:\n```csharp\n[Register (\"AppDelegate\")]\npublic class AppDelegate : ApplicationDelegate\n{\n    public override bool FinishedLaunching (UIApplication application, NSDictionary launchOptions)\n    {\n        RatingGateway.Initialize(new Dictionary\u003cstring, IRatingConditions\u003e()\n        {\n            { \"FirstCondition\", CountRatingCondition(0, 2) },\n            { \"SecondCondition\", BooleanRatingConditions() }\n        });\n        \n        return base.FinishedLaunching(application, launchOptions);\n    }\n}\n```\n\nNow that you are all set up, use `RatingGateway.Current?.Evaluate()` each time that a user has triggered an event in your application that should prompt them to review your app.\n\n## Rating Conditions\n\nThis package has 5 build-in conditions. These conditions do cover many common use cases.\n\n##### BooleanRatingCondition\nUse it as a switch, to memorize certain actions that your user did in your app.\n\n##### CountRatingCondition\nUse it to count certain actions that your user did in your app. The condition is met by default when the count is equal to or greater than the specified goal.\n\n##### DateTimeExpiredCondition\nUse it to mark a certain point in time that needs to be in the past for this condition to be met.\n\n##### StringMatchCondition\nUse it to match strings with each other, like user input for example.\n\n##### RatingCondition\nThis is a generic condition that can be used to effortlessly create your conditions. Some functionality can be only customized by writing your own condition class thou.\n\nAll conditions need to implement the `IRatingCondition` interface. You can create custom conditions by implementing it. The best approach to that would be to inherit from the abstract `RatingConditionBase` class.\n\n## Documentation\nIs on it's why...\n\n## Supported Platforms\nCurrently this package supports **NetStandard**, **Android 9**, **Android 10** and **iOS**.\n\n## Contributing\nContributing is heavily encouraged. The best way of doing so is probably by first start a discussion about new features or improvements, or if you found a bug report it first by creating a new issue first. There you can volunteer to make it your mission to fix it. :smile:\n\n## License\nPlease see the [License](https://github.com/griesoft/xamarin-rating-gateway/blob/master/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgriesoft%2Fxamarin-rating-gateway","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgriesoft%2Fxamarin-rating-gateway","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgriesoft%2Fxamarin-rating-gateway/lists"}