Daily Points on Shopping Apps

jhl

New member
Hello :)

On some shopping apps, you can earn daily points, and using those points - you can get discounts.

The first one is SHEIN.

First screen is this:
1615298010507.png

Second screen is this:
1615298081291.png

Third screen is this:
1615298185783.png

Fourth screen is this:
1615298232370.png

After you click "Go check in" you get the daily points and no more actions is required.

So I'm thinking a few things with this:
1) Maybe there's a way to click on the forth screen "Go check in" without opening the app at all?
My guess - send intent?
Found matching "point" on manifest:
com.zzkko.bussiness.person.ui.points.PointsListActivity
com.zzkko.bussiness.person.ui.points.PointSourceActivity
com.zzkko.bussiness.person.ui.points.PointsHistoryListActivity
com.zzkko.bussiness.person.ui.PointsActivity
com.zzkko.bussiness.person.ui.CheckInActivity (I think it's this one)
<activity theme="AppTheme" name="com.zzkko.bussiness.person.ui.CheckInActivity" screenOrientation="1"/>
2) Automate clicking intervals?

This macro has to work once a day.

This macro will be helpful for EVERYONE that uses SHEIN shopping app.
 
Last edited:

jhl

New member
So after some time of trying to figure it out I created this:
1615305193578.png

And when I test it I get this error:
1615305238715.png

I have no idea how to continue from here.
No matter what I put on "class" I keep getting the same error with "Permission Denial".

I found this on the manifest:
<?xml version="1.0" encoding="UTF-8"?><manifest versionCode="398" versionName="7.4.9" allowBackup="false" compileSdkVersion="29" compileSdkVersionCodename="10" package="com.zzkko" platformBuildVersionCode="29" platformBuildVersionName="10">
<uses-sdk minSdkVersion="21" targetSdkVersion="29"/>
<uses-feature name="android.hardware.camera" required="false"/>
<uses-feature name="android.hardware.camera.autofocus" required="false"/>
<uses-feature name="android.hardware.camera.flash" required="false"/>
<uses-feature name="android.hardware.bluetooth" required="false"/>
<uses-permission name="android.permission.SYSTEM_ALERT_WINDOW"/>
<uses-permission name="android.permission.USE_CREDENTIALS"/>
<uses-permission name="android.permission.INTERNET"/>
<uses-permission name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission name="android.permission.CAMERA"/>
<uses-permission name="android.permission.BLUETOOTH"/>
<uses-permission name="android.permission.GET_ACCOUNTS"/>
<uses-permission name="android.permission.WAKE_LOCK"/>
<uses-permission name="com.google.android.c2dm.permission.RECEIVE"/>
<uses-permission name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission name="android.permission.GET_TASKS"/>
<uses-permission name="android.permission.VIBRATE"/>
<uses-feature name="android.hardware.wifi"/>
<uses-permission name="android.permission.ACCESS_WIFI_STATE"/>
<uses-permission name="android.permission.CHANGE_WIFI_STATE"/>
<uses-permission name="android.permission.CHANGE_NETWORK_STATE"/>
<uses-permission name="android.permission.RUN_INSTRUMENTATION"/>
<uses-permission name="android.permission.ACCESS_COARSE_LOCATION"/>
<uses-permission name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<uses-permission name="com.sonyericsson.home.permission.BROADCAST_BADGE"/>
<uses-permission name="com.sec.android.provider.badge.permission.READ"/>
<uses-permission name="com.sec.android.provider.badge.permission.WRITE"/>
<uses-permission name="android.permission.REQUEST_INSTALL_PACKAGES"/>
<uses-permission name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permission name="com.huawei.android.launcher.permission.READ_SETTINGS"/>
<uses-permission name="com.huawei.android.launcher.permission.WRITE_SETTINGS"/>
<uses-permission name="android.permission.READ_PROFILE"/>
<uses-permission name="android.permission.READ_CALENDAR"/>
<uses-permission name="android.permission.WRITE_CALENDAR"/>
<permission name="android.permission.INTERACT_ACROSS_USERS_FULL" protectionLevel="0x2"/>
<uses-feature glEsVersion="0x20000" required="true"/>
<uses-permission name="com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE"/>
It's related to "permissions", do I need to integrate it into the MacroDroid send intent?
If I need to integrate it, how do I do that?
 
Last edited:

FrameXX

Well-known member
So after some time of trying to figure it out I created this:
View attachment 124

And when I test it I get this error:
View attachment 125

I have no idea how to continue from here.
No matter what I put on "class" I keep getting the same error with "Permission Denial".

I found this on the manifest:

It's related to "permissions", do I need to integrate it into the MacroDroid send intent?
If I need to integrate it, how do I do that?
I will tell you why.
This activity is app internal activity and it's not intended to be launched by external apps. Only way how to launch these activities is normally inside app or with ROOT. However even with root permission MacroDroid is still not able to launch these internal activities and you need to use apps like root activity launcher from play store that have locale/tasker plugin. Also I doubt OP is rooted.

Btw you have missing action: android.intent.action.MAIN
 
  • Like
Reactions: jhl

jhl

New member
I will tell you why.
This activity is app internal activity and it's not intended to be launched by external apps. Only way how to launch these activities is normally inside app or with ROOT. However even with root permission MacroDroid is still not able to launch these internal activities and you need to use apps like root activity launcher from play store that have locale/tasker plugin. Also I doubt OP is rooted.
First of all - Thank you for answering me!

"Only way how to launch these activities is normally inside app" - To combat this let's program MacroDroid to open "SHEIN" and from there to "Send intent"? Will this work?
a) Launch app "SHEIN"
b) Send intent
Will this work?

"root activity launcher from play store that have locale/tasker plugin."
Can you link me a few that you know of?
 

FrameXX

Well-known member
It cost money.

"No. This is not going to work. You need to get there with UI interaction"
OK, So let's use UI interaction.
How do I use it?
Can we automate it?

MacroDroid supports UI interaction. It's an action in "Device Actions" category. Explore how it works on yourself. It's nothing hard.
 
Last edited:

jhl

New member
MacroDroid supports UI interaction. It's an action in "Device Actions" category. Explore how it works on yourself. It's nothing hard.
Why don't you create a simple test macro with the UI Interaction action in it and try using it?

1615318207962.png


Thank you for everything so far!

Now how do I make it "WAIT UNTILL DEVICE UNLOCKED"?

I want this macro to run when I receive this notification, but when I receive this notification the device is locked, so I need to make it so it will run as soon as the device is unlocked.
 

FrameXX

Well-known member
View attachment 127


Thank you for everything so far!

Now how do I make it "WAIT UNTILL DEVICE UNLOCKED"?

I want this macro to run when I receive this notification, but when I receive this notification the device is locked, so I need to make it so it will run as soon as the device is unlocked.

if notification received set your variable true. If screen unlocked while variable is true do the actions and set your variable back false.

I thing this will annoy you when you want to use your phone, but 1 time per 24hours is okay.
 
  • Like
Reactions: jhl

MacroDroidDev

Administrator
Staff member
@jhl The basic premise of what you want to do is as follows:

M1
T -> Notification received
A -> Set variable (Some boolean to true)

M2
T -> Device Unlocked
A -> Bunch of UI interactions
A -> Set variable (same as above to false)
C -> Variable is currently set to true.

You may be able to automate the unlocking of the device with UI INteraction actions if you have a PIN code entry set. I've never tried this myself but I believe there are some users who do this.
 

jhl

New member
@jhl The basic premise of what you want to do is as follows:

M1
T -> Notification received
A -> Set variable (Some boolean to true)

M2
T -> Device Unlocked
A -> Bunch of UI interactions
A -> Set variable (same as above to false)
C -> Variable is currently set to true.

You may be able to automate the unlocking of the device with UI INteraction actions if you have a PIN code entry set. I've never tried this myself but I believe there are some users who do this.
I did something similar.
T -> Screen Unlocked + Notification present

So I unlock the phone and if the notification is present it will play the macro, after it finished I manually delete the notification.

Thank you for everything!
 
Top