Git Product home page Git Product logo

afkredeem-flutter's Introduction

AFK Redeem

Your AFK Arena redemption codes simplified



Google Play badge

Play Store badge



AFK Redeem screenshot

more screenshots at afkredeem.com

Why Share the Sources

The rationale behind sharing the sources is mainly transparency.
Getting notifications for new redemption codes is relatively easy and was done long before this app. There are other fan-apps notifying about redemption codes, some fan sites facilitate web notifications or email subscription, there's even an instagram account publishing new codes.

The difference with this app, however, on top of the notification capabilities, is the usage of Lilith Game's API for redeeming the codes (which honestly makes it A WHOLE LOT EASIER). The API is not officially supported by Lilith Games but several other community members have detected it and put it to good use.
In the end the notion of a 3rd party app redeeming codes is somewhat alarming for some users, and perhaps rightfully so. So the best move for mitigating those concerns was to publish the source code, and disclose how the app operates for any member of the community to review and confirm there's no monkey business 🙉🙈🙊.
That being said, in order to protect the app, the license for the sources provided in this repo is non-commercial Share-Alike.

Privacy Policy

What is Saved & Where

The app doesn't store any information outside the phone.
Moreover, the app also does not require local storage permissions.
Everything the app saves locally boils down to simple key value stores provided by either Android / iOS platforms (aka shared_preferences)

The only user-generated data saved on the phone is the user ID entered by the user on first startup.
Other than that the app saves its internal configuration (redeem api supported versions, codes list, etc.) and trivial UI flags (e.g. disclosure consent, hypogean/celestial mode or whether specific brutus messages were already shown).

What is sent & Where to

The app uses 2.5 network interfaces.

  • Downloading the current list of codes from afkredeem.com upon startup / refresh
    Receiving also in the same GET: general configuration such as redeemer api version support, brutus messages, etc.
    + a few server-side dialogs UI (plain html), e.g. about and redeem api versioning support updates.

    See afk_redeem_api.dart

  • Redeeming the codes using Lilith Games redemption codes REST API.
    The app sends the user ID and verifies the verification code, fetches user identity, and consumes any gift codes selected. The app uses in-memory cookies to maintain the session with Lilith Games API, however none of the cookies are stored. All of the above is sent directly and only to Lilith Games, while none of the byproducts are stored anywhere.

    See code_redeemer.dart

  • The app issues push notifications utilizing the Firebase Cloud Messaging solution (see below). This messaging framework uses platform-specific transport service (Android / iOS), facilitating notifications while saving the app the hassle of running any battery guzzling background workers.

Analytics & Crashlytics

The app uses Firebase Analytics and Firebase Crashlytics services.
As far as analytics go, only redeem & ad events are (anonymously) logged on top of the most basic default analytics firebase has to offer.
With regards to crashlytics, any error / crash the app experiences is anonymously reported via firebase.
Nevertheless, the app presents a disclosure dialog on first startup summarizing the above information with a link to this repo.

Push Notifications

The app uses Firebase Cloud Messaging solution to receive push notifications sent from the AFK Redeem account. The app maintainers will issue notifications (currently manually) only in the event of a new redemption codes. Since both Android & iOS provide means to silence / mute any app's notifications, such configuration setting is not implemented in the app.

Funds

Well, there aren't any really 😅 but you can buy me a ☕
Any imaginable expense (from the afkredeem.com domain, through app stores costs, to development time & effort), was personally paid for.
Which brings us to the next point.

Ads

An ad banner is displayed while the app is redeeming codes. Ads are configured to be non personalized and use a static keywords list (see consts.dart). The humble ads income helps covering the initial expenses mentioned above, maintenance of the app's services, as well as ongoing expenses (WTF apple). Moreover, if future funds will allow it perhaps an automated notification server can be implemented & deployed in aws or smth.

Community Engagement

The more the merrier

Contribute

Yes, please!
Feel free to send pull requests with features & fixes for the repo. Every once in a while a new release will be issued and uploaded to the stores.

Feature requests & Bug reports

Please refer to the issues section to review or submit any feature request or report any bug detected.


coffee  afkredeem.com  reddit  email

Disclosure

AFK Redeem is a fan-app and is not affiliated with Lilith Games in any way.

afkredeem-flutter's People

Contributors

afkredeem avatar rukgar avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

afkredeem-flutter's Issues

Suggestion: Multiple accounts

Can you allow us to add multiple accounts? Maybe have a drop down list next to the redeem icon after adding them.

Any update for IOS version?

Hi guys👋🏻

Are there any update on the ios app of the app?📱

And do you guys need help with the project? Then I will be happy to help with whatever you need help with😁

Suggestion

Hi,

It would be nice to safe the verificatin code for 1min, or to mark for save and a buttom to delete. Sometime i have few codes add Manuel. So i dont have for each code write the verification number 😀.

Greetz

André

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.