fix bug.
add gcm.
Merge branch 'feat/gcm' into develop