Thursday, January 28, 2021

Android Dev Tips



Mobile Country Codes (MCC) are used in wireless telephone networks (GSM, CDMA, UMTS, etc.) in order to identify the country which a mobile subscriber belongs to. In order to uniquely identify a mobile subscribers network the MCC is combined with a Mobile Network Code (MNC).

https://android.stackexchange.com/questions/162448/difference-between-android-id-and-device-id

  • DeviceID: This is the serial of the device, which should persist even a factory reset.
  • AndroidID: This will be set at the first boot (either with a brand new device, or after a factory reset). As implicated, it does not survive a 
  • There's a second "Android_ID" which is generated and used by the Google Services Framework (GSF), and thus often referenced as "GSF ID". Behaves basically like the AndroidID mentioned before (e.g. doesn't survive a ), and co-exists with it.
  • Furthermore, there's the GAID (Google Advertising ID), which can be reset by the user via the Google Settings app.

During "normal operation" (i.e. as long as you not factory-reset your device or reset the GAID), all these IDs can be used to identify the device. When using multiple users (via user profiles) on a device, all except the DeviceID would even identify the user (profile).

To my knowledge, all those IDs are available across all Android versions (at least across those which are currently relevant, i.e. GB/2.3 and up). The last two obviously only if GApps are installed – so on devices running a Custom ROM without GApps, they might not exist.

https://en.wikipedia.org/wiki/Google_Cloud_Messaging

https://stackoverflow.com/questions/25526042/what-is-gcm-registration-id

A Registration ID is an identifier assigned by GCM to a single instance of a single application installed on an Android device. The device is assigned this identifier when it registers to Google Cloud Messaging. The GCM documentation doesn't specify what information is encoded in this identifier.

In some older Android versions (pre-4.0.4), a Google account is required to register to GCM.

If multiple users use the same app on the same device, they will be have the same registration ID, since GCM doesn't care about which user logs-in to the app. It's up to your server to determine which user is currently logged in to your app in a certain device, and based on that knowledge to deliver only relevant GCM messages to that device.

Tuesday, January 26, 2021

Archives



Previous    1  2  3  4  5  6  7  8    Next

February 2021
Google Pixel Tips and Tricks
Jokes && Riddles

January 2021
Android Dev Tips
Archives
System Design Interview
Page Not Found

December 2020
How to Handle Exception in Java

August 2020
Fixing Java Unchecked/Raw types error

July 2020
Youtube for kids
Kids Learning at Home

April 2020
Google Calendar Tips and Tricks

February 2020
Google Doc Tips
Java Stream Advanced Usage
Salesforce Tips

January 2020
Reduce Excessive Nesting
Java Collection Tips
Java Core Tips
Java Enum Tips
Guide to Google Spanner
Machine Learning
Android Messages Tips
Testing Best Practices
Java API Desgin
Guava Advanced Types
Android Bootloader Tips and Tricks
Linux Command History Trips
ImageMagick Tips and Hacks
Best Apps for Kids Education
Pdf Hacks
How to make video
Augmented Reality Apps
Google Assistant
Google Nest Hub Max

December 2019
Interview Googleyness
General Cognitive Ability Test / Problem Solving
lp - the Linux printing command

November 2019
Flutter

September 2019
Parameter order
Javadoc Best Practice
How to Reduce Data Usage

August 2019
A guide to ffmpeg
Autocomplete in bash
Java 8 Date and Time Best Practice
Code Readability
Java Futures
Difference between Array and Collection
IntelliJ Keyboard Shortcuts

July 2019
IntelliJ IDEA settings
LINUX CINNAMON FILE MANAGER (NEMO)
Safari Tips and Tricks
Tweak Mac Settings
Google Flogger
Linux Cinnamon Tips and Tricks
Introduction to Google AutoValue
Java Optional Tips and Tricks

Previous    1  2  3  4  5  6  7  8    Next

Wednesday, January 20, 2021

System Design Interview




Archives

  • Archives

  • New Posts

  • Google Pixel Tips and Tricks
  • Jokes && Riddles
  • Android Dev Tips
  • Archives
  • Page Not Found
  • How to Handle Exception in Java
  • Fixing Java Unchecked/Raw types error
  • Youtube for kids
  • Kids Learning at Home
  • Google Calendar Tips and Tricks

  • Updated Posts

  • Security Misc
  • Protocol Buffer Tips and Tricks
  • C++ Misc
  • How to Name Things
  • IntelliJ Tips
  • Chrome Tips and Tricks
  • Guide to Google Spanner
  • Gmail Tips and Tricks
  • Salesforce Tips
  • Pdf Hacks
  • Google Assistant
  • Guava RateLimiter
  • Google Guice

  • System Design

  • Crack the System Design Interview
  • Design Delayed Job Scheduler
  • POI-GeoHash
  • Design Hit Counter - how to count number of requests in last second, minute and hour - Stack Overflow
  • Design a web crawler
  • Message Brokers
  • Introducing Dynomite - Making Non-Distributed Databases, Distributed
  • Develop an API Rate-limit Throttling Client
  • Design Post System
  • Design a chat server | Hello World
  • Yelp Architecture
  • Finding a needle in Haystack: Facebook’s photo storage
  • Design Key Value Store
  • How to design a tiny URL or URL shortener?
  • Monday, January 4, 2021

    Page Not Found






    Sorry, the page you were looking for in this blog does not exist.

    Start exploring here:

    Will jump to archives after 10 seconds...


    Archives

  • Archives

  • New Posts

  • Google Pixel Tips and Tricks
  • Jokes && Riddles
  • Android Dev Tips
  • Archives
  • Page Not Found
  • How to Handle Exception in Java
  • Fixing Java Unchecked/Raw types error
  • Youtube for kids
  • Kids Learning at Home
  • Google Calendar Tips and Tricks

  • Updated Posts

  • Security Misc
  • Protocol Buffer Tips and Tricks
  • C++ Misc
  • How to Name Things
  • IntelliJ Tips
  • Chrome Tips and Tricks
  • Guide to Google Spanner
  • Gmail Tips and Tricks
  • Salesforce Tips
  • Pdf Hacks
  • Google Assistant
  • Guava RateLimiter
  • Google Guice

  • System Design

  • Crack the System Design Interview
  • Design Delayed Job Scheduler
  • POI-GeoHash
  • Design Hit Counter - how to count number of requests in last second, minute and hour - Stack Overflow
  • Design a web crawler
  • Message Brokers
  • Introducing Dynomite - Making Non-Distributed Databases, Distributed
  • Develop an API Rate-limit Throttling Client
  • Design Post System
  • Design a chat server | Hello World
  • Yelp Architecture
  • Finding a needle in Haystack: Facebook’s photo storage
  • Design Key Value Store
  • How to design a tiny URL or URL shortener?
  • Labels

    Review (572) System Design (334) System Design - Review (198) Java (189) Coding (75) Interview-System Design (65) Interview (63) Book Notes (59) Coding - Review (59) to-do (45) Linux (43) Knowledge (39) Interview-Java (35) Knowledge - Review (32) Database (31) Design Patterns (31) Big Data (29) Product Architecture (28) MultiThread (27) Soft Skills (27) Concurrency (26) Cracking Code Interview (26) Miscs (25) Distributed (24) OOD Design (24) Google (23) Career (22) Interview - Review (21) Java - Code (21) Operating System (21) Interview Q&A (20) System Design - Practice (20) Tips (19) Algorithm (17) Company - Facebook (17) Security (17) How to Ace Interview (16) Brain Teaser (14) Linux - Shell (14) Redis (14) Testing (14) Tools (14) Code Quality (13) Search (13) Spark (13) Spring (13) Company - LinkedIn (12) How to (12) Interview-Database (12) Interview-Operating System (12) Solr (12) Architecture Principles (11) Resource (10) Amazon (9) Cache (9) Git (9) Interview - MultiThread (9) Scalability (9) Trouble Shooting (9) Web Dev (9) Architecture Model (8) Better Programmer (8) Cassandra (8) Company - Uber (8) Java67 (8) Math (8) OO Design principles (8) SOLID (8) Design (7) Interview Corner (7) JVM (7) Java Basics (7) Kafka (7) Mac (7) Machine Learning (7) NoSQL (7) C++ (6) Chrome (6) File System (6) Highscalability (6) How to Better (6) Network (6) Restful (6) CareerCup (5) Code Review (5) Hash (5) How to Interview (5) JDK Source Code (5) JavaScript (5) Leetcode (5) Must Known (5) Python (5)

    Popular Posts