6 private links
When MicroG stopped working for you, Signal complained because it thought that you were still a GCM user. You can reset that by following these steps to re-register:
Tap on the Menu.
Choose Settings.
Choose Advanced.
Tap 'Signal' to slide the indicator (from blue to off).
Choose 'OK' in the 'Disable Signal Messages' pop up.
Tap 'Signal' a second time to re-register.
Enter or Edit your phone number.
Tap Register.
Complete the registration process.
Send messages on Signal.
If your device does not include Google Play Services (or microG or OpenGApps) when you re-register, the app will fall back to using WebSockets to keep a connection open to the Signal server. New information that's queued on the Signal server (such as encrypted messages or tokens that are used to set up calls) will automatically be pushed to your phone as soon as it arrives on the server. The app just needs to check at an interval to make sure that the connection hasn't died.
If you're using an Android phone that includes Google Play Services (or microG or OpenGApps), your phone will have an open GCM connection. Signal will automatically detect this when you register (or re-register) and use that existing connection in order to preserve battery life. It's worth noting here that any information that's pushed through GCM will be visible to Google. That's why Signal is designed so that no information is ever transmitted through GCM. If there's new information queued on the Signal server and your app isn't connected to the service, an empty notification is pushed to your device through GCM. The notification wakes up the app, it automatically recognizes the empty notification as meaning that it needs to connect to the Signal server, and then it fetches the queued information through a separate encrypted channel. This way, Google does not have access to metadata about who Signal users communicate with. (Other apps that use GCM may or may not have implemented this workaround.)
Moxie Marlinspike has said that both the Play Store build and the website build are reproducible, so I assume that means they are both compiled from the same branch on GitHub. In other words, it should be one and the same APK whichever way you choose to install it. Here's a blog post explaining how you can verify that.