How to use Google pub/sub service separately for test and release - google-play

I'm using pub/sub for google in-app purchase.
After creating one topic, I created two subscriptions(push) (test server, release server).
After that, I added the topic I created to my app(rtdn).
However, the problem here is that tests and releases are not distinguished, so the messages used for testing are also sent to the release server.
So I'm curious. How can you separate the messages of test and release?

I couldn't see anything in the RTDN to see if it's a Sandbox or Production purchase.
However when validating purchase with androidpublisher API you can see if it's a test purchase.
If calling purchases.subscriptionsv2:
Check testPurchase exists or not
If calling purchases.subscriptions:
Check purchaseType

Related

Alternative of cloud functions

I am developing an app for elderly for my graduation project. There are 2 actors, elderly and the watcher who takes care of elderly.
'all application data stored in Firebase'
My app reminds elderly about their medication time and to check their blood pressure and glucose.
Also, there is a chat between elderly and watcher.
My question is how to push notification without using cloud functions?
I have watched a Flutter course and he used Firebase Cloud Messaging and Cloud Functions, but now Cloud Functions requires to upgrade project's billing plan, so it requires money and credit card, and I don't want to spend money for my graduation project especially that I don't have a huge knowledge about flutter.
I watched a YouTube video that someone explains push notification using Laravel with Flutter, but I afraid about that because I DON'T HAVE ANY IDEA ABOUT Laravel.
Also I see that there are many Flutter packages for push notification, but I don't know how to use it or if it uses a Cloud Functions or not. such as: awesome_notifications, flutter_local_notifications, pusher
I hope someone guide me to the right way.
in order to send custom notifications you can create your own server environment (backend) and from there perform all the logic to be able to send the notifications to the devices.
The only thing you need to be able to send a personalized notification from an external environment is to have the token device, in the case that you will send it to a specific person, you can also send notifications if the devices are subscribed to a topic.
This is the documentation to send notifications from a server to the device:
https://firebase.google.com/docs/cloud-messaging/http-server-ref

Behaviour of republishing APP for existing users

We have an app which is already used by customers
We will be soon adding new API and adding new scopes and publishing it again.
This new API is used by only 5 customers out of our 100 customers.
Wanted to know what happens to all the customers who are using the existing APP. Since the same App is published again, will the functionality is broken if they don't install the APP?
This new API is only required for few customers, so can this newly republished app needs to be installed by only those customers ?
Or it has to be installed by all Customers who does not require this API and scopes as well?
Can some customers who do not need this API and scopes need not install this APP?
It depends on the type of deployment
There are Head Deployments which are automatically in sync with most recently saved code and there are Versioned Deployments which are a snapshot of your code.
In this specific case I'd use a versioned deployment by following the steps in the documentation in order to make the difference mentioned above (only 5 customers).

slack show webhooks configured for user when they leave

We've had a DevOps member leave recently and have had complaints that all of the integrations (incoming webhooks) that they had set up have stopped working... (once the user was disabled).
One suggestion for dealing with this was to notify the affected channels when we deactivate the user, but I can't find in the API methods a way to look up which channels a user might have configured these webhooks for...
Anyone had to do something like this?
To get the apps and internal integrations that have been installed by a specific user use the API method called team.integrationLogs.
This method lists the integration activity logs for a team, including
when integrations are added, modified and removed. This method can
only be called by Admins.
For a programmatic solution you will need to go through all log entries for one user / app to find out its latest status.
However, it might still become difficult to reinstall all that apps / setup all that webhooks again properly after a DevOps member has left depending on how good your documentation is. We have therefore started using a generic admin user (e.g. "slackadmin") as main installer for all important apps / integrations for our workspace.

Google Developer Console app releases section - what is the "Internal Test" track used for?

google play developer console has a near channel called "internal test". it is the last one in the list and i took a image of it below. how does it compare with alpha channel ? im not understanding its usecase ? seems your allowed 100 users.
I tried looking for documentation but i only see that it makes the app available faster. is that the prime benefit ?
That is correct, the Internal test track primary advantage is that APKs published to this track are available to testers within seconds, instead of up to several hours for Alpha or Beta.
Also, Internal testers can access app versions that are not otherwise available to other tracks users due to various restrictions such as device exclusions.
Finally, Internal testers do not have to pay to acquire the test version of the app, if the app is paid.
The internal test track is designed for internal testing use cases.

How to build real time notifications in a distributed project?

I wonder to know which technique and tools I should use to have the ability to send real time notifications to users. Specifically if I build a messaging system.
I can see that modern social networks can send notifications about new messages almost immediately. Even when the user 'A' from one country writes a message to the user 'B' in another country you can see that the user 'A' writes a message and you immediately see it (even if those users live in different continents).
I tried to figure out how it is possible and find any information about this but without success.
The only thing I found out is the technique when we use a Redis or RabbitMQ server with several servers which acts like publishers and subscribers. Our API servers receive new messages then they push a new message in the queue then subscribers receives the messages and if they have an open WebSocket with the recipient they push this message in the WebSocket and a client receives the message.
But it really won't work if you have a distributed project and your clients are connected to the nearest servers in the nearest data center.
The question is: what technologies/techniques/anything we should use to be able to build notifications in a distributed project?
If you develop your distributed app/system using web technologies, you can consider building what is referred to as a Progressive Web App. With PWAs you can add push notifications in a relatively easy way. You could start with a PWA approach, and then decide later on if developing a native app as well (i.e. iOS or Android) would be necessary.
There are many resources to learn and guide you in developing progressive web apps. Check the references I mentioned above, and you can do this codelab as a starting point.

Resources